BR112021003967A2 - método e dispositivos de interpredição bidirecional - Google Patents

método e dispositivos de interpredição bidirecional Download PDF

Info

Publication number
BR112021003967A2
BR112021003967A2 BR112021003967-8A BR112021003967A BR112021003967A2 BR 112021003967 A2 BR112021003967 A2 BR 112021003967A2 BR 112021003967 A BR112021003967 A BR 112021003967A BR 112021003967 A2 BR112021003967 A2 BR 112021003967A2
Authority
BR
Brazil
Prior art keywords
image
motion vector
poc
reference image
index
Prior art date
Application number
BR112021003967-8A
Other languages
English (en)
Inventor
Huanbang Chen
Jianle Chen
Haitao Yang
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of BR112021003967A2 publication Critical patent/BR112021003967A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

"MÉTODO DE INTERPREDIÇÃOBIDIRECIO-NAL, DISPOSITIVOSDE CODIFICAÇÃO E DE DECODIFICAÇÃO, TERMINAL, E MEIO DE ARMAZENAMENTO" A presente invenção refere-se a método e dispositivos (de interpredição bidirecional, de codificação (codificador) e decodificação (decodificador) de vídeo, de produto de meio de armazenamento e de programa de computador; e de terminal), e se referem ao campo de tecnologias de codificação de imagem de vídeo. O método inclui: determinar um índice de imagem de referência i1 de primeira lista de imagens de referência como primeiro índice de imagem de referência que corresponde a bloco corrente e que é da primeira lista de imagens de referência; determinar índice de imagem de referência i2 de uma segunda lista de imagens de referência como um segundo índice de imagem de referência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência; e prever o bloco corrente com base no primeiro índice de imagem de referência e o segundo índice de imagem de referência. Uma POC correspondente ao índice de imagem de referência i1 é uma POC, mais próxima a POC de imagem corrente, em todas as POCs que estão na primeira lista de imagens de referência e que são menores do que a POC da imagem corrente, uma POC correspondente ao índice de imagem de referência i2 é POC, mais próxima à POC da imagem corrente, em todas as POCs que estão na segunda lista de imagens de referência e que são maiores do que a POC da imagem corrente, e a imagem corrente inclui o bloco corrente. Os recursos de fluxo de bits podem ser salvos e a eficiência da codificação melhorada.

Description

Relatório Descritivo da Patente de Invenção para "MÉTODO DE INTERPREDIÇÃO BIDIRECIONAL, DISPOSITIVOS DE CODIFI- CAÇÃO E DE DECODIFICAÇÃO, TERMINAL, E MEIO DE ARMAZE- NAMENTO". Campo técnico
[0001] Modalidades deste pedido se referem ao campo de tecnolo- gias de codificação de imagem de vídeo e, em particular, a método e dispositivos de interpredição bidirecional. Antecedentes
[0002] Em uma tecnologia de codificação de vídeo, um bloco de previsão de imagem de um bloco corrente pode ser gerado com base em apenas um bloco de imagem de referência (isso é referido como interpredição unidirecional), ou um bloco de previsão de imagem de um bloco corrente pode ser gerado com base em pelo menos dois blocos de imagem de referência (isto é referido como interpredição bidirecio- nal). Os pelo menos dois blocos de imagem de referência podem ser de uma mesma imagem de referência (quadro) ou imagens de referência diferentes.
[0003] Para permitir que um lado do decodificador e um lado do co- dificador usem um mesmo bloco de imagem de referência, o lado do codificador precisa enviar informações de movimento de cada bloco de imagem para o lado do decodificador através de um fluxo de bits. Nor- malmente, as informações de movimento do bloco corrente incluem um valor de índice de imagem de referência, um indicador de preditor de vetor de movimento (Motion Vector Predictor, MVP) e uma diferença de vetor de movimento (Motion Vector Difference, MVD). O lado do deco- dificador pode encontrar um bloco de imagem de referência correto em uma imagem de referência selecionada com base no valor de índice de imagem de referência, o indicador MVP e a MVD.
[0004] Correspondentemente, na interpredição bidirecional, o lado do codificador precisa enviar informações de movimento de cada bloco de imagem em cada direção para o lado do decodificador. Consequen- temente, as informações de movimento ocupam uma quantidade relati- vamente grande de recursos de transmissão. Isso reduz a utilização efe- tiva dos recursos de transmissão, uma taxa de transmissão e eficiência de compressão de codificação. Sumário
[0005] As modalidades deste pedido fornecem um método e dispo- sitivo de interpredição bidirecional, um dispositivo de codificação de ví- deo, e um dispositivo de codificação de vídeo, determinando um índice de imagem de referência de um bloco de imagem de acordo com um método de derivação durante a codificação ou a decodificação sem transmitir o índice de imagem de referência do bloco de imagem em um fluxo de bits, de modo que os recursos de transmissão possam ser sal- vos e a eficiência de compressão de codificação possam ser melhora- dos a alguma extensão.
[0006] Para alcançar o objetivo supracitado, as seguintes soluções técnicas são usadas nas modalidades deste pedido.
[0007] De acordo com um primeiro aspecto, a presente invenção fornece um método de interpredição bidirecional. O método inclui: determinar um índice de imagem de referência i1 de uma primeira lista de imagens de referência como um primeiro índice de imagem de refe- rência que corresponde a um bloco corrente e que é da primeira lista de imagens de referência, onde uma contagens de ordem de imagem POC (picture order count) correspondente ao índice de imagem de referência i1 é menor do que uma POC de uma imagem corrente, uma diferença obtida subtraindo a POC correspondente ao índice de imagem de refe- rência i1 da POC da imagem corrente é menor do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de referência ix da POC da imagem corrente, o índice de imagem de refe- rência ix é qualquer índice de imagem de referência diferente do índice de imagem de referência i1 em índices de imagem de referência da pri- meira lista de imagens de referência, e a POC correspondente ao índice de imagem de referência ix é menor do que a POC da imagem corrente; determinar um índice de imagem de referência i2 de uma segunda lista de imagens de referência como um segundo índice de imagem de refe- rência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência, onde uma POC correspondente ao índice de imagem de referência i2 é maior do que a POC da imagem corrente, uma diferença obtida subtraindo a POC correspondente ao índice de imagem de referência i2 da POC da imagem corrente é maior do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de referência iy da POC da imagem corrente, o índice de imagem de referência iy é qualquer índice de imagem de referência di- ferente do índice de imagem de referência i2 nos índices de imagem de referência da segunda lista de imagens de referência, e a POC corres- pondente ao índice de imagem de referência iy é maior do que a POC da imagem corrente; e prever o bloco corrente com base no primeiro índice de imagem de re- ferência e no segundo índice de imagem de referência, onde a imagem corrente inclui o bloco corrente.
[0008] Deve ser entendido que o índice de imagem de referência na presente invenção pode ainda ser brevemente referido como um índice.
[0009] De acordo com um segundo aspecto, a presente invenção fornece um método de interpredição bidirecional. O método inclui: quando um primeiro grupo de condições é atendido, determinar um ín- dice de imagem de referência i1 de uma primeira lista de imagens de referência como um primeiro índice de imagem de referência que cor- responde a um bloco corrente e que é da primeira lista de imagens de referência, onde o primeiro grupo de condições inclui pelo menos a se- guinte condição 1 e a condição 2: condição 1: uma POC correspondente ao índice de imagem de referên- cia i1 é menor do que uma POC de uma imagem corrente; e condição 2: uma diferença obtida subtraindo a POC correspondente ao índice de imagem de referência i1 da POC da imagem corrente é menor do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de referência ix da POC da imagem corrente, o índice de imagem de referência ix é qualquer índice de imagem de referência diferente do índice de imagem de referência i 1 em índices de imagem de referência da primeira lista de imagens de referência, e a POC cor- respondente ao índice de imagem de referência i x é menor do que a POC da imagem corrente; quando um segundo grupo de condições é atendido, determinar um ín- dice de imagem de referência i2 de uma segunda lista de imagens de referência como um segundo índice de imagem de referência que cor- responde ao bloco corrente e que é da segunda lista de imagens de referência, onde o segundo grupo de condições inclui pelo menos a se- guinte condição 11 e condição 12: condição 11: uma POC correspondente ao índice de imagem de refe- rência i2 é maior do que a POC da imagem corrente; e condição 12: uma diferença obtida subtraindo a POC correspondente ao índice de imagem de referência i2 da POC da imagem corrente é maior do que uma diferença obtida subtraindo uma POC correspon- dente a um índice de imagem de referência iy da POC da imagem cor- rente, o índice de imagem de referência iy é qualquer índice de imagem de referência diferente do índice de imagem de referência i2 nos índices de imagem de referência da segunda lista de imagens de referência, e a POC correspondente ao índice de imagem de referência iy é maior do que a POC da imagem corrente; e prever o bloco corrente com base no primeiro índice de imagem de re- ferência e no segundo índice de imagem de referência, onde a imagem corrente inclui o bloco corrente.
[0010] Deve ser entendido que, nas modalidades da presente in- venção, além da condição 1 e da condição 2, o primeiro grupo de con- dições pode ainda incluir outra condição, e além da condição 11 e da condição 12, o segundo grupo de condições pode ainda incluir outra condição. Essas condições incluem, mas não se limitam a, uma condi- ção de execução opcional na técnica anterior ou uma condição de exe- cução opcional na evolução padrão, e não são exaustivamente enume- radas nas modalidades da presente invenção.
[0011] De acordo com um terceiro aspecto, a presente invenção for- nece um método de interpredição bidirecional. O método inclui: permitir determinar um índice de imagem de referência i1 de uma pri- meira lista de imagens de referência como um primeiro índice de ima- gem de referência que corresponde a um bloco corrente e que é da pri- meira lista de imagens de referência, onde uma POC correspondente ao índice de imagem de referência i1 é menor do que uma POC de uma imagem corrente, uma diferença obtida subtraindo a POC correspon- dente ao índice de imagem de referência i1 da POC da imagem corrente é menor do que uma diferença obtida subtraindo uma POC correspon- dente a um índice de imagem de referência ix da POC da imagem cor- rente, o índice de imagem de referência ix é qualquer índice de imagem de referência diferente do índice de imagem de referência i1 em índices de imagem de referência da primeira lista de imagens de referência, e a POC correspondente ao índice de imagem de referência i x é menor do que a POC da imagem corrente; permitir determinar um índice de imagem de referência i 2 de uma se- gunda lista de imagens de referência como um segundo índice de ima-
gem de referência que corresponde ao bloco corrente e que é da se- gunda lista de imagens de referência, onde uma POC correspondente ao índice de imagem de referência i2 é maior do que a POC da imagem corrente, uma diferença obtida subtraindo a POC correspondente ao ín- dice de imagem de referência i2 da POC da imagem corrente é maior do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de referência iy da POC da imagem corrente, o índice de imagem de referência iy é qualquer índice de imagem de referência diferente do índice de imagem de referência i2 nos índices de imagem de referência da segunda lista de imagens de referência, e a POC cor- respondente ao índice de imagem de referência iy é maior do que a POC da imagem corrente; e prever o bloco corrente com base no primeiro índice de imagem de re- ferência e no segundo índice de imagem de referência quando o índice de imagem de referência i1 é determinado como o primeiro índice de imagem de referência que corresponde ao bloco corrente e que é da primeira lista de imagens de referência e o índice de imagem de refe- rência i2 é determinado como o segundo índice de imagem de referência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência, onde a imagem corrente inclui o bloco corrente.
[0012] De acordo com o primeiro aspecto, o segundo aspecto, ou o terceiro aspecto da presente invenção, em um possível desenho, a pri- meira lista de imagens de referência pode corresponder a uma primeira direção, e a segunda lista de imagens de referência pode corresponder a uma segunda direção. A primeira direção e a segunda direção podem ser respectivamente uma direção de avanço e uma direção de retorno, ou uma direção de retorno e uma direção de avanço, ou ambas a pri- meira direção e a segunda direção podem ser direções de avanço ou direções de retorno. A direção pode ainda ser entendido como uma se- quência de tempo, e não é limitado na presente invenção.
[0013] De acordo com o primeiro aspecto, o segundo aspecto, ou o terceiro aspecto da presente invenção, em um possível desenho, o mé- todo é usado em um dispositivo de codificação, e correspondentemente, o método ainda inclui: obter um primeiro identificador, onde um valor do primeiro identificador é um primeiro valor predefinido (que pode ser, mas não é limitado a, 1 ou 0), e é usado para indicar a determinação do índice de imagem de referência i1 da primeira lista de imagens de referência como o primeiro índice de imagem de referência que corresponde ao bloco corrente e que é da primeira lista de imagens de referência, e determinar o índice de imagem de referência i2 da segunda lista de imagens de referência como o segundo índice de imagem de referência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência.
[0014] Opcionalmente, quando o valor do primeiro identificador é um segundo valor predefinido (que é diferente do primeiro valor prede- finido, e pode ser, mas não é limitado a, 0 ou 1), o primeiro identificador pode indicar que um fluxo de bits precisa ser analisado ou outra forma precisa ser usado para obter um índice de imagem de referência do bloco corrente.
[0015] De acordo com o primeiro aspecto, o segundo aspecto, ou o terceiro aspecto da presente invenção, em um possível desenho, quando o primeiro identificador é o primeiro valor predefinido (que pode ser, mas não é limitado a, 1 ou 0), o primeiro identificador pode ser ainda usado para indicar determinar uma segunda diferença de vetor de mo- vimento do bloco corrente com base em uma primeira diferença de vetor de movimento do bloco corrente, e o método ainda inclui: obter a primeira diferença de vetor de movimento do bloco corrente; e obter a segunda diferença de vetor de movimento do bloco corrente com base na primeira diferença de vetor de movimento de acordo com a se- guinte fórmula:
mvd_lY = −mvd_lX.
[0016] Aqui, mvd_lY representa a segunda diferença de vetor de mo- vimento, mvd_lX representa a primeira diferença de vetor de movimento, uma dentre a primeira diferença de vetor de movimento e a segunda diferença de vetor de movimento corresponde à primeira lista de ima- gens de referência, e a outra dentre a primeira diferença de vetor de movimento e a segunda diferença de vetor de movimento corresponde à segunda lista de imagens de referência.
[0017] Opcionalmente, quando o valor do primeiro identificador é o segundo valor predefinido (que é diferente do primeiro valor predefinido, e pode ser, mas não é limitado a, 0 ou 1), o primeiro identificador pode indicar que um fluxo de bits precisa ser analisado ou outra maneira pre- cisa ser usada para obter a primeira diferença de vetor de movimento e/ou a segunda diferença de vetor de movimento, do bloco corrente, correspondente à primeira lista de imagens de referência e/ou à se- gunda lista de imagens de referência.
[0018] Em suma, quando o valor do primeiro identificador é o pri- meiro valor predefinido, o primeiro identificador pode indicar que a pri- meira informação de movimento e a segunda informação de movimento podem ser mutualmente derivadas. Por exemplo, a segunda informação de movimento pode ser derivada com base na primeira informação de movimento, ou a primeira informação de movimento pode ser derivada com base na segunda informação de movimento. Mais especificamente, um segundo vetor de movimento pode ser derivado com base em um primeiro vetor de movimento, ou um primeiro vetor de movimento pode ser derivado com base em um segundo vetor de movimento. A segunda diferença de vetor de movimento pode ser derivada com base na pri- meira diferença de vetor de movimento, ou a primeira diferença de vetor de movimento pode ser derivada com base na segunda diferença de vetor de movimento.
[0019] Neste caso, nem toda a informação de movimento (como MVDs) precisa ser transmitida em um fluxo de bits, de modo que os recursos para transmitir o fluxo de bits sejam eduzidos, assim melho- rando a eficiência de transmissão de fluxo de bits.
[0020] Ainda, quando o primeiro vetor de movimento é derivado com base no segundo vetor de movimento, ou o segundo vetor de mo- vimento é derivado com base no primeiro vetor de movimento, o pri- meiro índice de imagem de referência e o segundo índice de imagem de referência podem ser determinados através da derivação. Em outras palavras, o primeiro índice de imagem de referência e o segundo índice de imagem de referência podem ser obtidos sem analisar um fluxo de bits.
[0021] Em conclusão, pode ser aprendido que, quando o valor do primeiro identificador é o primeiro valor predefinido, o primeiro identifi- cador pode ser usado para indicar que o índice de imagem de referência do bloco corrente pode ser obtido ou determinado através da derivação. Especificamente, quando o valor do primeiro identificador é o primeiro valor predefinido, o primeiro identificador pode ser usado para indicar determinar o índice de imagem de referência i1 da primeira lista de ima- gens de referência como o primeiro índice de imagem de referência que corresponde ao bloco corrente e que é da primeira lista de imagens de referência, e determinar o índice de imagem de referência i2 da segunda lista de imagens de referência como o segundo índice de imagem de referência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência. Neste caso, um índice de imagem de refe- rência pode não ser transmitida em um fluxo de bits, para, assim, me- lhorar a eficiência de transmissão de fluxo de bits.
[0022] Ainda, quando o valor do primeiro identificador é o segundo valor predefinido, o primeiro identificador pode ser usado para indicar que o primeiro vetor de movimento não é derivado com base no se- gundo vetor de movimento, ou o segundo vetor de movimento não é derivado com base no primeiro vetor de movimento. Neste caso, um fluxo de bits precisa ser analisado para obter o primeiro índice de ima- gem de referência e o segundo índice de imagem de referência do bloco corrente.
[0023] Ainda, quando o valor do primeiro identificador é o segundo valor predefinido, o primeiro identificador pode ser usado para indicar que a primeira diferença de vetor de movimento não é derivada com base na segunda diferença de vetor de movimento, ou a segunda dife- rença de vetor de movimento não é derivado com base na primeira di- ferença de vetor de movimento. Neste caso, um fluxo de bits precisa ser analisado para obter o primeiro índice de imagem de referência e o se- gundo índice de imagem de referência do bloco corrente.
[0024] De acordo com o primeiro aspecto, o segundo aspecto, ou o terceiro aspecto da presente invenção, em um possível desenho, o mé- todo ainda inclui: obter um primeiro vetor de movimento previsto e um segundo vetor de movimento previsto; determinar o primeiro vetor de movimento com base no primeiro vetor de movimento previsto e a primeira diferença de vetor de movimento; e determinar o segundo vetor de movimento com base no segundo vetor de movimento previsto e na segunda diferença de vetor de movimento.
[0025] A previsão do bloco corrente com base no primeiro índice de imagem de referência e no segundo índice de imagem de referência inclui: prever o bloco corrente com base no primeiro índice de imagem de referência, o segundo índice de imagem de referência, a primeira lista de imagens de referência, a segunda lista de imagens de referên- cia, o primeiro vetor de movimento, e o segundo vetor de movimento.
[0026] Opcionalmente, em um processo de implementação especí- fico, o primeiro vetor de movimento previsto e o segundo vetor de movi- mento previsto podem ser obtidos através da análise e/ou através da derivação nas modalidades da presente invenção, a primeira diferença de vetor de movimento e a segunda diferença de vetor de movimento podem ainda ser obtidas através da análise e/ou através da derivação nas modalidades da presente invenção, o primeiro índice de imagem de referência e o segundo índice de imagem de referência podem ser de- terminados de acordo com o método de determinação supracitado, e a primeira lista de imagens de referência e a segunda lista de imagens de referência podem ser obtida de um fluxo de bits ou podem ser construí- das. Após essas peças de informação de movimento estarem comple- tas, o bloco corrente pode ser previsto. Um método de previsão especí- fico pode ser implementado de acordo com a técnica anterior.
[0027] De acordo com o método supracitado, uma MVD em uma direção pode ser derivada com base em uma MVD em outra direção, e o índice de imagem de referência pode ser determinado de acordo com uma regra específica. Dessa forma, para duas peças de informação de movimento do bloco corrente, pelo menos uma MVD e dois índices de imagem de referência não podem ser transmitidos em um fluxo de bits, assim economizando recursos para transmitir o fluxo de bits.
[0028] De acordo com o primeiro aspecto, o segundo aspecto, ou o terceiro aspecto da presente invenção, em um possível desenho, antes de obter um primeiro identificador, o método ainda inclui: determinar que uma condição predefinida é atendida, onde a condição predefinida in- clui: a primeira lista de imagens de referência tem um primeiro índice, a se- gunda lista de imagens de referência tem um segundo índice, e a POC da imagem corrente é entre uma POC correspondente ao primeiro ín- dice e uma POC correspondente ao segundo índice.
[0029] Por exemplo, isso pode ainda ser representado como a se- guinte condição que é atendida: (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) > 0.
[0030] Aqui, POC_Cur pode representar a POC da imagem corrente, POC_listX pode representar uma POC de uma imagem de referência na primeira lista de imagens de referência, e POC_listY pode representar uma POC de uma imagem de referência na segunda lista de imagens de referência.
[0031] De acordo com o primeiro aspecto, o segundo aspecto, ou o terceiro aspecto da presente invenção, em um possível desenho, antes de obter um primeiro identificador, o método ainda inclui: determinar que uma condição predefinida é atendida, onde a condição predefinida inclui que um identificador do residual do vetor de movimento obtido que é da imagem corrente e que corresponde à segunda lista de imagens de re- ferência é um terceiro valor predefinido. Por exemplo, mvd_l1_zero_flag da imagem corrente é 0.
[0032] De acordo com o primeiro aspecto, o segundo aspecto, ou o terceiro aspecto da presente invenção, em um possível desenho, quando (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) > 0, uma ima- gem tendo a menor diferença de POC da imagem em que o bloco a ser processado (isto é, o bloco corrente) está localizado é determinada como uma primeira imagem de referência alvo na primeira lista de ima- gens de referência do bloco a ser processado, onde uma POC da pri- meira imagem de referência alvo é menor do que a POC da imagem em que o bloco a ser processado está localizado; e uma imagem tendo uma menor diferença de POC da imagem em que o bloco a ser processado está localizado é determinada como uma segunda imagem de referên- cia alvo na segunda lista de imagens de referência do bloco a ser pro- cessado, onde uma POC da segunda imagem de referência alvo é maior do que a POC da imagem em que o bloco a ser processado está locali- zado. Quando ambas a primeira imagem de referência alvo e a segunda imagem de referência alvo existem, um índice de imagem de referência da primeira imagem de referência alvo na primeira lista de imagens de referência é i1, e um índice de imagem de referência da segunda ima- gem de referência alvo na segunda lista de imagens de referência é i2.
[0033] Opcionalmente, quando a primeira imagem de referência alvo ou a segunda imagem de referência alvo não existem, uma imagem tendo uma menor diferença de POC da imagem em que o bloco a ser processado está localizado é determinada como uma terceira imagem de referência alvo na primeira lista de imagens de referência do bloco a ser processado, onde uma POC da terceira imagem de referência alvo é maior do que a POC da imagem em que o bloco a ser processado está localizado; e uma imagem tendo uma menor diferença de POC da imagem em que o bloco a ser processado está localizado é determinado como uma quarta imagem de referência alvo na segunda lista de ima- gens de referência do bloco a ser processado, onde uma POC da quarta imagem de referência alvo é menor do que a POC da imagem em que o bloco a ser processado está localizado. Quando ambas a terceira ima- gem de referência alvo e a quarta imagem de referência alvo existem, um índice da quarta imagem de referência alvo na segunda lista de ima- gens de referência é i2, e um índice de imagem de referência da terceira imagem de referência alvo na primeira lista de imagens de referência é i1.
[0034] De acordo com um quarto aspecto, um dispositivo de inter- predição bidirecional é fornecido. O dispositivo inclui: uma unidade de determinação, configurada para: determinar um índice de imagem de referência i1 de uma primeira lista de imagens de referên- cia como um primeiro índice de imagem de referência que corresponde a um bloco corrente e que é da primeira lista de imagens de referência,
onde uma POC correspondente ao índice de imagem de referência i1 é menor do que uma POC de uma imagem corrente, uma diferença obtida subtraindo a POC correspondente ao índice de imagem de referência i1 de a POC da imagem corrente é menor do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de refe- rência ix da POC da imagem corrente, o índice de imagem de referência ix é qualquer índice de imagem de referência diferente do índice de ima- gem de referência i1 em índices de imagem de referência da primeira lista de imagens de referência, e a POC correspondente ao índice de imagem de referência ix é menor do que a POC da imagem corrente; e determinar um índice de imagem de referência i2 de uma segunda lista de imagens de referência como um segundo índice de imagem de refe- rência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência, onde uma POC correspondente ao índice de imagem de referência i2 é maior do que a POC da imagem corrente, uma diferença obtida subtraindo a POC correspondente ao índice de imagem de referência i2 da POC da imagem corrente é maior do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de referência iy da POC da imagem corrente, o índice de imagem de referência iy é qualquer índice de imagem de referência di- ferente do índice de imagem de referência i2 nos índices de imagem de referência da segunda lista de imagens de referência, e a POC corres- pondente ao índice de imagem de referência iy é maior do que a POC da imagem corrente; e uma unidade de processamento de interpredição , configurada para pre- ver o bloco corrente com base no primeiro índice de imagem de referên- cia e no segundo índice de imagem de referência, onde a imagem cor- rente inclui o bloco corrente.
[0035] De acordo com o quarto aspecto, em um possível desenho, o dispositivo ainda inclui uma unidade de obtenção, configurada para obter um primeiro identificador, onde um valor do primeiro identificador é um primeiro valor predefinido, e quando o valor do primeiro identifica- dor é o primeiro valor predefinido, o primeiro identificador é usado para indicar a determinação o índice de imagem de referência i1 da primeira lista de imagens de referência como o primeiro índice de imagem de referência que corresponde ao bloco corrente e que é da primeira lista de imagens de referência, e determinar o índice de imagem de referên- cia i2 da segunda lista de imagens de referência como o segundo índice de imagem de referência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência.
[0036] De acordo com o quarto aspecto, em um possível desenho, quando o primeiro identificador é o primeiro valor predefinido, o primeiro identificador é ainda usado para indicar a determinação uma segunda diferença de vetor de movimento do bloco corrente com base em uma primeira diferença de vetor de movimento do bloco corrente; a unidade de obtenção é ainda configurada para obter a primeira diferença de ve- tor de movimento do bloco corrente; e a unidade de determinação é ainda configurada para obter a segunda diferença de vetor de movi- mento do bloco corrente com base na primeira diferença de vetor de movimento de acordo com a seguinte fórmula: mvd_lY = −mvd_lX.
[0037] Aqui, mvd_lY representa a segunda diferença de vetor de mo- vimento, mvd_lX representa a primeira diferença de vetor de movimento, uma dentre a primeira diferença de vetor de movimento e a segunda diferença de vetor de movimento pertence à informação de movimento correspondente à primeira lista de imagens de referência, e a outra da primeira diferença de vetor de movimento e a segunda diferença de ve- tor de movimento pertence à informação de movimento correspondente à segunda lista de imagens de referência.
[0038] De acordo com o quarto aspecto, em um possível desenho,
a unidade de obtenção é especificamente configurada para obter um primeiro vetor de movimento previsto e um segundo vetor de movimento previsto; a unidade de determinação é configurada para: determinar um primeiro vetor de movimento com base no primeiro vetor de movimento previsto e na primeira diferença de vetor de movimento, e determinar um segundo vetor de movimento com base no segundo vetor de movi- mento previsto e na segunda diferença de vetor de movimento; e a uni- dade de processamento de interpredição é configurada para prever o bloco corrente com base no primeiro índice de imagem de referência, o segundo índice de imagem de referência, a primeira lista de imagens de referência, a segunda lista de imagens de referência, o primeiro vetor de movimento, e o segundo vetor de movimento.
[0039] Durante a implementação específica, as unidades supracita- das (módulos virtuais) incluem, mas não se limitam a, módulos de com- putação discreta ou um mesmo módulo de computação integrada. As formas de implementação não são exaustivamente enumeradas. Dife- rentes nomes são meramente usados para diferenciação entre funções, e não devem constituir qualquer limitação desnecessária em uma estru- tura.
[0040] De acordo com um quinto aspecto, a presente invenção for- nece um método de interpredição bidirecional, incluindo: quando a informação auxiliar de um bloco a ser processado atende uma condição predefinida, a análise de um fluxo de bits para obter informa- ção de indicação, onde a informação de indicação é usada para indicar uma maneira de obtenção de um primeiro vetor de movimento e uma maneira de obtenção de um segundo vetor de movimento, o primeiro vetor de movimento é um vetor de movimento que aponta para uma imagem de referência em uma primeira lista de imagens de referência do bloco a ser processado, e o segundo vetor de movimento é um vetor de movimento que aponta para uma imagem de referência em uma se- gunda lista de imagens de referência do bloco a ser processado; determinar o primeiro vetor de movimento e o segundo vetor de movi- mento com base nas maneiras de obtenção indicadas pela informação de indicação; e determinar um preditor do bloco a ser processado com base no primeiro vetor de movimento, o segundo vetor de movimento, um primeiro índice de imagem de referência, e um segundo índice de imagem de referên- cia, onde o primeiro índice de imagem de referência é usado para indicar a imagem de referência na qual o primeiro vetor de movimento aponta na primeira lista de imagens de referência, e o segundo índice de ima- gem de referência é usado para indicar a imagem de referência na qual o segundo vetor de movimento aponta na segunda lista de imagens de referência.
[0041] De acordo com um sexto aspecto, a presente invenção for- nece um dispositivo de interpredição bidirecional, incluindo: uma uni- dade de obtenção, configurada para: quando a informação auxiliar de um bloco a ser processado atende uma condição predefinida, analisar um fluxo de bits para obter informação de indicação, onde a informação de indicação é usada para indicar uma maneira de obtenção de um pri- meiro vetor de movimento e uma maneira de obtenção de um segundo vetor de movimento, o primeiro vetor de movimento é um vetor de mo- vimento que aponta para uma imagem de referência em uma primeira lista de imagens de referência do bloco a ser processado, e o segundo vetor de movimento é um vetor de movimento que aponta para uma imagem de referência em uma segunda lista de imagens de referência do bloco a ser processado; e uma unidade de determinação, configu- rada para determinar o primeiro vetor de movimento e o segundo vetor de movimento com base nas maneiras de obtenção indicadas pela in-
formação de indicação, e determinar um preditor do bloco a ser proces- sado com base no primeiro vetor de movimento, no segundo vetor de movimento, um primeiro índice de imagem de referência, e um segundo índice de imagem de referência, onde o primeiro índice de imagem de referência é usado para indicar a imagem de referência na qual o pri- meiro vetor de movimento aponta na primeira lista de imagens de refe- rência, e o segundo índice de imagem de referência é usado para indicar a imagem de referência na qual o segundo vetor de movimento aponta na segunda lista de imagens de referência.
[0042] O quinto aspecto e o sexto aspecto descrevem um método e um dispositivo que correspondem entre si. Nos seguintes possíveis de- senhos, apenas o método é usado como um exemplo para descrever as possíveis soluções de implementação, e detalhes não são descritas em um lado do dispositivo.
[0043] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, a informação de indicação inclui um primeiro identifi- cador e um quinto identificador, e a análise de um fluxo de bits para obter informação de indicação inclui: analisar o fluxo de bits para obter o primeiro identificador; e quando o primeiro identificador é 0, analise os fluxos de bits para obter o quinto identificador. Correspondentemente, a determinação do primeiro vetor de movimento e do segundo vetor de movimento com base nas maneiras de obtenção indicadas pela infor- mação de indicação inclui: quando o primeiro identificador é 1, analisar o fluxo de bits para obter um primeiro índice do vetor de movimento previsto e/ou um primeiro re- sidual do vetor de movimento; calcular o primeiro vetor de movimento com base no primeiro índice do vetor de movimento previsto e/ou no primeiro residual do vetor de movimento; e derivar o segundo vetor de movimento com base no primeiro vetor de movimento, onde o primeiro vetor de movimento e no segundo vetor de movimento estão em uma relação matemática predefinida; quando o primeiro identificador for 0 e o quinto identificador for 1, anali- sar o fluxo de bits para obter um segundo índice do vetor de movimento previsto e/ou um segundo residual do vetor de movimento; calcular o segundo vetor de movimento com base no segundo índice do vetor de movimento previsto e/ou no segundo residual do vetor de movimento; e derivar o primeiro vetor de movimento com base no segundo vetor de movimento, onde o primeiro vetor de movimento e o segundo vetor de movimento estão em uma relação matemática predefinida; ou quando o primeiro identificador for 0 e o quinto identificador for 0, anali- sar o fluxo de bits para obter um primeiro índice do vetor de movimento previsto e/ou um primeiro residual do vetor de movimento; calcular o primeiro vetor de movimento com base no primeiro índice do vetor de movimento previsto e/ou no primeiro residual do vetor de movimento; analisar o fluxo de bits para obter um segundo índice do vetor de movi- mento previsto e/ou um segundo residual do vetor de movimento; e cal- cular o segundo vetor de movimento com base no segundo índice do vetor de movimento previsto e/ou no segundo residual do vetor de mo- vimento.
[0044] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, a informação de indicação inclui um segundo identi- ficador e um terceiro identificador, e a análise de um fluxo de bits para obter informação de indicação inclui: analisar o fluxo de bits para obter o segundo identificador; e quando o segundo identificador for 1, analisar o fluxo de bits para obter o terceiro identificador. Correspondentemente, a determinação do primeiro vetor de movimento e do segundo vetor de movimento com base nas maneiras de obtenção indicadas pela infor- mação de indicação inclui: quando o segundo identificador for 0, analisar o fluxo de bits para obter um primeiro índice do vetor de movimento pre-
visto e/ou um primeiro residual do vetor de movimento; calcular o pri- meiro vetor de movimento com base no primeiro índice do vetor de mo- vimento previsto e/ou no primeiro residual do vetor de movimento; ana- lisar o fluxo de bits para obter um segundo índice do vetor de movimento previsto e/ou um segundo residual do vetor de movimento; e calcular o segundo vetor de movimento com base no segundo índice do vetor de movimento previsto e/ou no segundo residual do vetor de movimento; ou quando o segundo identificador for 1 e o terceiro identificador for um primeiro valor, analisar o fluxo de bits para obter um primeiro índice do vetor de movimento previsto e/ou um primeiro residual do vetor de mo- vimento; calcular o primeiro vetor de movimento com base no primeiro índice do vetor de movimento previsto e/ou no primeiro residual do vetor de movimento; e derivar o segundo vetor de movimento com base no primeiro vetor de movimento, onde o primeiro vetor de movimento e no segundo vetor de movimento estão em uma relação matemática prede- finida; ou quando o segundo identificador for 1 e o terceiro identificador for um segundo valor, analisar o fluxo de bits para obter um segundo índice do vetor de movimento previsto e/ou um segundo residual do ve- tor de movimento; calcular o segundo vetor de movimento com base no segundo índice do vetor de movimento previsto e/ou no segundo resi- dual do vetor de movimento; e derivar o primeiro vetor de movimento com base no segundo vetor de movimento, onde o primeiro vetor de movimento e o segundo vetor de movimento estão em uma relação ma- temática predefinida, e o primeiro valor não é igual ao segundo valor.
[0045] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, a informação de indicação inclui um segundo identi- ficador, e a análise de um fluxo de bits para obter informação de indica- ção inclui: analisar o fluxo de bits para obter o segundo identificador.
[0046] Correspondentemente, a determinação do primeiro vetor de movimento e o segundo vetor de movimento com base nas maneiras de obtenção indicadas pela informação de indicação inclui: quando o segundo identificador for 0, analisar o fluxo de bits para obter um primeiro índice do vetor de movimento previsto e/ou um primeiro re- sidual do vetor de movimento; calcular o primeiro vetor de movimento com base no primeiro índice do vetor de movimento previsto e/ou no primeiro residual do vetor de movimento; analisar o fluxo de bits para obter um segundo índice do vetor de movimento previsto e/ou um se- gundo residual do vetor de movimento; e calcular o segundo vetor de movimento com base no segundo índice do vetor de movimento previsto e/ou no segundo residual do vetor de movimento; ou quando o segundo identificador for 1, analisar o fluxo de bits para obter um primeiro índice do vetor de movimento previsto e/ou um primeiro re- sidual do vetor de movimento; calcular o primeiro vetor de movimento com base no primeiro índice do vetor de movimento previsto e/ou no primeiro residual do vetor de movimento; e derivar o segundo vetor de movimento com base no primeiro vetor de movimento, onde o primeiro vetor de movimento e no segundo vetor de movimento estão em uma relação matemática predefinida.
[0047] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, o primeiro vetor de movimento e o segundo vetor de movimento estão em uma relação matemática predefinida que inclui: o primeiro vetor de movimento e o segundo vetor de movimento são iguais no tamanho e opostos na direção, e/ou o primeiro residual do vetor de movimento e o segundo residual do vetor de movimento são iguais no tamanho e opostos na direção.
[0048] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, a informação auxiliar inclui uma quantidade de ima- gens de referência do bloco a ser processado, e que a informação auxi- liar do bloco a ser processado atende a condição predefinida inclui: a quantidade de imagens de referência do bloco a ser processado é maior do que ou igual a 2.
[0049] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, a informação auxiliar inclui uma relação de contagens de ordem de imagem (POC) entre uma imagem em que o bloco a ser processado está localizado e uma imagem de referência do bloco a ser processado, e que a informação auxiliar do bloco a ser processado atende a condição predefinida inclui: POC_Cur − POC_listX = POC_listY − POC_Cur.
[0050] Aqui, POC_Cur é uma POC da imagem em que o bloco a ser processado está localizado, POC_listX é uma POC da imagem de refe- rência do bloco a ser processado na primeira lista de imagens de refe- rência, e POC_listY é uma POC da imagem de referência do bloco a ser processado na segunda lista de imagens de referência.
[0051] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, a informação auxiliar inclui uma relação de contagens de ordem de imagem (POC) entre uma imagem em que o bloco a ser processado está localizado e uma imagem de referência do bloco a ser processado, e que a informação auxiliar do bloco a ser processado atende a condição predefinida inclui: (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) > 0.
[0052] Aqui, POC_Cur é uma POC da imagem em que o bloco a ser processado está localizado, POC_listX é uma POC da imagem de refe- rência do bloco a ser processado na primeira lista de imagens de refe- rência, e POC_listY é uma POC da imagem de referência do bloco a ser processado na segunda lista de imagens de referência.
[0053] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, a informação auxiliar inclui um identificador temporal (Temporal ID) de uma imagem em que o bloco a ser processado está localizado, e que a informação auxiliar do bloco a ser processado atende a condição predefinida inclui: o identificador temporal da imagem em que o bloco a ser processado está localizado é maior do que ou igual a um valor predefinido.
[0054] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, a informação auxiliar inclui um identificador do resi- dual do vetor de movimento (mvd_l1_zero_flag) do bloco a ser proces- sado, e que a informação auxiliar do bloco a ser processado atende a condição predefinida inclui: o residual do vetor de movimento identifica- dor do bloco a ser processado indica que um residual do vetor de movi- mento do bloco a ser processado é 0, onde o residual do vetor de movi- mento é o primeiro residual do vetor de movimento ou o segundo resi- dual do vetor de movimento.
[0055] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, antes de determinar um preditor do bloco a ser pro- cessado, o método ainda inclui: quando o primeiro vetor de movimento é derivado com base no segundo vetor de movimento, ou o segundo vetor de movimento é derivado com base no primeiro vetor de movimento, determinar o primeiro índice de imagem de referência e o segundo índice de imagem de referência com base na condição predefinida que a informação auxiliar atende; ou quando o primeiro vetor de movimento não é derivado com base no se- gundo vetor de movimento, e o segundo vetor de movimento não é de- rivado com base no primeiro vetor de movimento, analisar o fluxo de bits para obter o primeiro índice de imagem de referência e o segundo índice de imagem de referência.
[0056] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, a determinação do primeiro índice de imagem de re- ferência e do segundo índice de imagem de referência inclui: definir cada um dentre o primeiro índice de imagem de referência e o segundo índice de imagem de referência a uma constante predefinida. A cons- tante predefinida pode ser 0.
[0057] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, quando POC_Cur − POC_listX = POC_listY − POC_Cur, a determinação do primeiro índice de imagem de referência e o segundo índice de imagem de referência inclui: determinar, como uma primeira imagem de referência alvo na primeira lista de imagens de referência do bloco a ser processado, uma imagem tendo uma menor diferença de POC da imagem em que o bloco a ser processado está localizado, onde uma POC da primeira imagem de referência alvo é menor do que a POC da imagem em que o bloco a ser processado está localizado; buscar a segunda lista de imagens de referência do bloco a ser processado para uma segunda imagem de referência alvo, onde uma POC da segunda imagem de referência alvo atende: POC_Cur – POC_1 = POC_2 – POC_Cur, POC_1 é a POC da primeira imagem de referência alvo, e POC_2 é a POC da segunda imagem de referência alvo; e quando am- bas a primeira imagem de referência alvo e a segunda imagem de refe- rência alvo existem, definir o primeiro índice de imagem de referência a um identificador da primeira imagem de referência alvo, e definir o se- gundo índice de imagem de referência a um identificador da segunda imagem de referência alvo.
[0058] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, o método ainda inclui: quando a primeira imagem de referência alvo ou a segunda imagem de referência alvo não existem, determinar, como uma terceira imagem de referência alvo na primeira lista de imagens de referência do bloco a ser processado, uma imagem tendo uma menor diferença de POC da ima- gem em que o bloco a ser processado está localizado, onde uma POC do terceira imagem de referência alvo é maior do que a POC da imagem em que o bloco a ser processado está localizado; buscar a segunda lista de imagens de referência do bloco a ser processado para uma quarta imagem de referência alvo, onde uma POC da quarta imagem de refe- rência alvo atende: POC_Cur – POC_3 = POC_4 – POC_Cur, POC_3 é a POC do terceira imagem de referência alvo, e POC_4 é a POC da quarta imagem de referência alvo; e definir o primeiro índice de imagem de referência a um identificador da terceira imagem de referência alvo, e definir o segundo índice de imagem de referência a um identificador da quarta imagem de referência alvo.
[0059] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, quando (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) > 0, a determinação do primeiro índice de imagem de referên- cia e o segundo índice de imagem de referência inclui: determinar, como uma primeira imagem de referência alvo na primeira lista de imagens de referência do bloco a ser processado, uma imagem tendo uma menor diferença de POC da imagem em que o bloco a ser processado está localizado, onde uma POC da primeira imagem de re- ferência alvo é menor do que a POC da imagem em que o bloco a ser processado está localizado; determinar, como uma segunda imagem de referência alvo na segunda lista de imagens de referência do bloco a ser processado, uma imagem tendo uma menor diferença de POC da imagem em que o bloco a ser processado está localizado, onde uma POC da segunda imagem de re- ferência alvo é maior do que a POC da imagem em que o bloco a ser processado está localizado; e quando ambas a primeira imagem de referência alvo e a segunda ima- gem de referência alvo existem, definir o primeiro índice de imagem de referência a um identificador da primeira imagem de referência alvo, e definir o segundo índice de imagem de referência a um identificador da segunda imagem de referência alvo.
[0060] De acordo com o quinto aspecto ou o sexto aspecto, em um possível desenho, o método ainda inclui: quando a primeira imagem de referência alvo ou a segunda imagem de referência alvo não existem, determinar, como uma terceira imagem de referência alvo na primeira lista de imagens de referência do bloco a ser processado, uma imagem tendo uma menor diferença de POC da ima- gem em que o bloco a ser processado está localizado, onde uma POC do terceira imagem de referência alvo é maior do que a POC da imagem em que o bloco a ser processado está localizado; determinar, como uma quarta imagem de referência alvo na segunda lista de imagens de refe- rência do bloco a ser processado, uma imagem tendo uma menor dife- rença de POC da imagem em que o bloco a ser processado está locali- zado, onde uma POC da quarta imagem de referência alvo é menor do que a POC da imagem em que o bloco a ser processado está localizado; e definir o primeiro índice de imagem de referência a um identificador do terceira imagem de referência alvo, e definir o segundo índice de imagem de referência a um identificador da quarta imagem de referência alvo.
[0061] De acordo com um sétimo aspecto, a presente invenção for- nece um método de interpredição bidirecional, incluindo: quando pelo menos um elemento de sintaxe em um fluxo de bits indica que uma segunda diferença de vetor de movimento da imagem corrente precisa ser analisada, obter um primeiro identificador; obter uma pri- meira diferença de vetor de movimento de um bloco corrente; e quando um valor do primeiro identificador é um primeiro valor predefinido, de- terminar uma segunda diferença de vetor de movimento do bloco cor- rente com base na primeira diferença de vetor de movimento, onde a primeira diferença de vetor de movimento pertence à informação de mo- vimento do bloco corrente em uma primeira direção, a segunda dife- rença de vetor de movimento pertence à informação de movimento do bloco corrente em uma segunda direção, e a primeira diferença de vetor de movimento e a segunda diferença de vetor de movimento são usadas para prever o bloco corrente.
[0062] De acordo com um oitavo aspecto, um método de interpredi- ção bidirecional é fornecido, incluindo: obter informação de indicação usada para indicar determinar a segunda informação de movimento com base na primeira informação de movimento, onde a primeira informação de movimento é a informação de movimento de um bloco corrente em uma primeira direção, e a segunda informação de movimento é a infor- mação de movimento do bloco corrente em uma segunda direção; obter a primeira informação de movimento; e determinar a segunda informa- ção de movimento com base na primeira informação de movimento ob- tida. Dessa forma, uma amostra de previsão do bloco corrente pode ser determinada com base na primeira informação de movimento obtida e na segunda informação de movimento determinada.
[0063] De acordo com o método de interpredição bidirecional for- necido neste pedido, após a informação de indicação ser obtida, a se- gunda informação de movimento é determinada com base na primeira informação de movimento. Dessa forma, um fluxo de bits precisa incluir apenas a informação de indicação e a primeira informação de movi- mento, e não precisa mais incluir a segunda informação de movimento. Em comparação com a técnica anterior em que um fluxo de bits inclui informação de movimento de cada bloco de imagem em cada direção, o método de interpredição bidirecional fornecido neste pedido reduz efetivamente a informação de movimento incluída no fluxo de bits, e me- lhora a utilização efetiva de recursos de transmissão, uma taxa de trans- missão, e uma taxa de codificação.
[0064] Opcionalmente, em uma possível implementação deste pe- dido, um método para "determinar a segunda informação de movimento com base na primeira informação de movimento" é: obter um valor de índice de uma primeira imagem de referência na primeira informação de movimento, e determinar uma contagens de ordem de imagem da pri- meira imagem de referência com base no valor de índice da primeira imagem de referência e uma primeira lista de imagens de referência, onde a primeira imagem de referência é uma imagem de referência do bloco corrente na primeira direção, e o valor de índice da primeira ima- gem de referência é um número da primeira imagem de referência na primeira lista de imagens de referência; obter um valor de índice de uma segunda imagem de referência, e determinar uma contagens de ordem de imagem da segunda imagem de referência com base no valor de índice da segunda imagem de referência e uma segunda lista de ima- gens de referência, onde a segunda imagem de referência é uma ima- gem de referência do bloco corrente na segunda direção, e o valor de índice da segunda imagem de referência é um número da segunda ima- gem de referência na segunda lista de imagens de referência; determi- nar um primeiro vetor de movimento com base em uma primeira dife- rença de vetor de movimento e um primeiro indicador de preditor do ve- tor de movimento que estão na primeira informação de movimento, onde o primeiro vetor de movimento é um vetor de movimento do bloco cor- rente na primeira direção; e determinar um segundo vetor de movimento na segunda informação de movimento de acordo com a seguinte fór- mula: 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 mv_ lY = × mv_ lX. 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋
[0065] Na fórmula, mv_ lY representa o segundo vetor de movimento, 𝑃𝑂𝐶_ 𝐶𝑢𝑟 representa uma contagens de ordem de imagem da imagem corrente, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋 representa a contagens de ordem de imagem da primeira imagem de referência, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 representa a contagens de ordem de imagem da segunda imagem de referência, mv_ lX representa o primeiro vetor de movimento, e o segundo vetor de movimento é um vetor de movimento do bloco corrente na segunda direção.
[0066] Opcionalmente, em outra possível implementação deste pe- dido, um método para "determinar a segunda informação de movimento com base na primeira informação de movimento" é: obter um valor de índice de uma primeira imagem de referência na primeira informação de movimento, e determinar uma contagens de ordem de imagem da pri- meira imagem de referência com base no valor de índice da primeira imagem de referência e uma primeira lista de imagens de referência, onde a primeira imagem de referência é uma imagem de referência do bloco corrente na primeira direção, e o valor de índice da primeira ima- gem de referência é um número da primeira imagem de referência na primeira lista de imagens de referência; obter um valor de índice de uma segunda imagem de referência, e determinar uma contagens de ordem de imagem da segunda imagem de referência com base no valor de índice da segunda imagem de referência e uma segunda lista de ima- gens de referência, onde a segunda imagem de referência é uma ima- gem de referência do bloco corrente na segunda direção, e o valor de índice da segunda imagem de referência é um número da segunda ima- gem de referência na segunda lista de imagens de referência; determi- nar um primeiro vetor de movimento com base em uma primeira dife- rença de vetor de movimento e um primeiro indicador de preditor do ve- tor de movimento que estão na primeira informação de movimento, onde o primeiro vetor de movimento é um vetor de movimento do bloco cor- rente na primeira direção; e quando a primeira imagem de referência for uma imagem de referência de avanço do bloco corrente e a segunda imagem de referência for uma imagem de referência de retorno do bloco corrente, ou quando a primeira imagem de referência for uma imagem de referência de retorno do bloco corrente e a segunda imagem de re- ferência for uma imagem de referência de avanço do bloco corrente, ou quando a primeira imagem de referência e a segunda imagem de refe- rência forem uma imagem de referência de avanço do bloco corrente,
ou quando a primeira imagem de referência e a segunda imagem de referência forem uma imagem de referência de retorno do bloco cor- rente, determinar um segundo vetor de movimento na segunda informa- ção de movimento de acordo com uma fórmula mv_ lY = −mv_ lX, onde nesta fórmula, mv_ lY representa o segundo vetor de movimento, mv_ lX representa o primeiro vetor de movimento, e o segundo vetor de movi- mento é um vetor de movimento do bloco corrente na segunda direção.
[0067] Opcionalmente, em outra possível implementação deste pe- dido, um método para “determinar a segunda informação de movimento com base na primeira informação de movimento" é: determinar um se- gundo vetor de movimento na segunda informação de movimento de acordo com uma fórmula mv_ lY = −mv_ lX, onde nesta fórmula, mv_ lY re- presenta o segundo vetor de movimento, mv_ lX representa um primeiro vetor de movimento, e o segundo vetor de movimento é um vetor de movimento do bloco corrente na segunda direção.
[0068] Ambas "a primeira imagem de referência é uma imagem de referência de avanço do bloco corrente e a segunda imagem de refe- rência é uma imagem de referência de retorno do bloco corrente" e "a primeira imagem de referência é uma imagem de referência de retorno do bloco corrente e a segunda imagem de referência é uma imagem de referência de avanço do bloco corrente" pode ser representada usando uma fórmula (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) > 0, ou pode ser representada usando uma fórmula POC_listY = 2 ∗ POC_Cur − POC_listX. Isso não é especificamente limitado neste pedido.
[0069] Além disso, ambas "a primeira imagem de referência e a se- gunda imagem de referência são uma imagem de referência de avanço do bloco corrente" e "a primeira imagem de referência e a segunda ima- gem de referência são uma imagem de referência de retorno do bloco corrente" pode ser representada usando uma fórmula (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) < 0.
[0070] Opcionalmente, em outra possível implementação deste pe- dido, um método para “determinar a segunda informação de movimento com base na primeira informação de movimento" é: obter um valor de índice de uma primeira imagem de referência e uma primeira diferença de vetor de movimento que estão na primeira informação de movimento, e determinar uma contagens de ordem de imagem da primeira imagem de referência com base no valor de índice da primeira imagem de refe- rência e uma primeira lista de imagens de referência, onde a primeira imagem de referência é uma imagem de referência do bloco corrente na primeira direção, e o valor de índice da primeira imagem de referência é um número da primeira imagem de referência na primeira lista de ima- gens de referência; obter um valor de índice de uma segunda imagem de referência, determinar uma contagens de ordem de imagem da se- gunda imagem de referência com base no valor de índice da segunda imagem de referência e uma segunda lista de imagens de referência, e determinar um segundo vetor de movimento previsto com base no valor de índice da segunda imagem de referência e uma segunda lista de ve- tor de movimento previsto candidato, onde o segundo vetor de movi- mento previsto é um vetor de movimento previsto do bloco corrente na segunda direção, a segunda imagem de referência é uma imagem de referência do bloco corrente na segunda direção, e o valor de índice da segunda imagem de referência é um número da segunda imagem de referência na segunda lista de imagens de referência; determinar uma segunda diferença de vetor de movimento na segunda informação de movimento de acordo com a seguinte fórmula: 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 mvd_ lY = × mvd_ lX, onde 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋 na fórmula, mvd_ lY representa a segunda diferença de vetor de movi- mento, 𝑃𝑂𝐶_ 𝐶𝑢𝑟 representa uma contagens de ordem de imagem da imagem corrente, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋 representa a contagens de ordem de ima-
gem da primeira imagem de referência, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 representa a conta- gens de ordem de imagem da segunda imagem de referência, e mvd_ lX representa a primeira diferença de vetor de movimento; e determinar um segundo vetor de movimento com base no segundo vetor de movimento previsto e na segunda diferença de vetor de movimento, onde o se- gundo vetor de movimento é um vetor de movimento do bloco corrente na segunda direção.
[0071] Opcionalmente, em outra possível implementação deste pe- dido, um método para “determinar a segunda informação de movimento com base na primeira informação de movimento" é: obter um valor de índice de um primeira imagem de referência e um primeiro vetor de mo- vimento que estão na primeira informação de movimento, e determinar uma contagens de ordem de imagem da primeira imagem de referência com base no valor de índice da primeira imagem de referência e uma primeira lista de imagens de referência, onde a primeira imagem de re- ferência é uma imagem de referência do bloco corrente na primeira di- reção, e o valor de índice da primeira imagem de referência é um nú- mero da primeira imagem de referência na primeira lista de imagens de referência; obter um valor de índice de uma segunda imagem de refe- rência, determinar uma contagens de ordem de imagem da segunda imagem de referência com base no valor de índice da segunda imagem de referência e uma segunda lista de imagens de referência, e determi- nar um segundo vetor de movimento previsto com base no valor de ín- dice da segunda imagem de referência e uma segunda lista de vetor de movimento previsto candidato, onde o segundo vetor de movimento pre- visto é um vetor de movimento previsto do bloco corrente na segunda direção, a segunda imagem de referência é uma imagem de referência do bloco corrente na segunda direção, e o valor de índice da segunda imagem de referência é um número da segunda imagem de referência na segunda lista de imagens de referência; quando a primeira imagem de referência for uma imagem de referência de avanço do bloco corrente e a segunda imagem de referência for uma imagem de referência de retorno do bloco corrente, ou quando a primeira imagem de referência for uma imagem de referência de retorno do bloco corrente e a segunda imagem de referência for uma imagem de referência de avanço do bloco corrente, ou quando a primeira imagem de referência e a segunda ima- gem de referência forem uma imagem de referência de avanço do bloco corrente, ou quando a primeira imagem de referência e a segunda ima- gem de referência forem uma imagem de referência de retorno do bloco corrente, determinar uma segunda diferença de vetor de movimento na segunda informação de movimento de acordo com uma fórmula mvd_ lY = −mvd_ lX, onde nesta fórmula, mvd_ lY representa a segunda diferença de vetor de movimento, e mvd_ lX representa uma primeira di- ferença de vetor de movimento; e determinar um segundo vetor de mo- vimento com base no segundo vetor de movimento previsto e na se- gunda diferença de vetor de movimento, onde o segundo vetor de mo- vimento é um vetor de movimento do bloco corrente na segunda dire- ção.
[0072] Opcionalmente, em outra possível implementação deste pe- dido, um método para “determinar a segunda informação de movimento com base na primeira informação de movimento" é: determinar uma se- gunda diferença de vetor de movimento na segunda informação de mo- vimento de acordo com uma fórmula mvd_ lY = −mvd_ lX, onde nesta fór- mula, mvd_ lY representa a segunda diferença de vetor de movimento, e mvd_ lX representa uma primeira diferença de vetor de movimento; e de- terminar um segundo vetor de movimento com base em um segundo vetor de movimento previsto e na segunda diferença de vetor de movi- mento, onde o segundo vetor de movimento é um vetor de movimento do bloco corrente na segunda direção.
[0073] Do mesmo modo, ambas "a primeira imagem de referência é uma imagem de referência de avanço do bloco corrente e a segunda imagem de referência é uma imagem de referência de retorno do bloco corrente" e "a primeira imagem de referência é uma imagem de referên- cia de retorno do bloco corrente e a segunda imagem de referência é uma imagem de referência de avanço do bloco corrente" pode ser re- presentada usando uma fórmula (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) > 0, ou pode ser representada usando uma fórmula POC_listY = 2 ∗ POC_Cur − POC_listX. Isso não é especificamente limi- tado neste pedido.
[0074] Ambas "a primeira imagem de referência e a segunda ima- gem de referência são uma imagem de referência de avanço do bloco corrente" e "a primeira imagem de referência e a segunda imagem de referência são uma imagem de referência de retorno do bloco corrente" pode ser representada usando uma fórmula (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) < 0.
[0075] Pode ser aprendido que, o método de interpredição bidireci- onal fornecido neste pedido pode ser: determinar o segundo vetor de movimento com base no primeiro vetor de movimento, ou pode ser: de- terminar a segunda diferença de vetor de movimento com base na pri- meira diferença de vetor de movimento, e determinar o segundo vetor de movimento com base na segunda diferença de vetor de movimento.
[0076] Opcionalmente, em outra possível implementação deste pe- dido, um método para "obter um valor de índice de uma segunda ima- gem de referência" é: calcular um primeiro contagens de ordem de ima- gem com base na contagens de ordem de imagem da imagem corrente e a contagens de ordem de imagem da primeira imagem de referência de acordo com uma fórmula POC_listY0 = 2 ∗ POC_Cur − POC_listX, onde POC_Cur representa a contagens de ordem de imagem da imagem cor- rente, POC_listX representa a contagens de ordem de imagem da pri-
meira imagem de referência, e POC_listY representa a primeira conta- gens de ordem de imagem; e quando a segunda lista de imagens de referência inclui a primeira contagens de ordem de imagem, determinar, como o valor de índice da segunda imagem de referência, um número da imagem de referência representada pela primeira contagens de or- dem de imagem na segunda lista de imagens de referência.
[0077] Opcionalmente, em outra possível implementação deste pe- dido, um método para "obter um valor de índice de uma segunda ima- gem de referência" é: calcular uma segunda contagens de ordem de imagem com base na contagens de ordem de imagem da imagem cor- rente e na contagens de ordem de imagem da primeira imagem de re- ferência de acordo com uma fórmula (POC_Cur − POC_listX) ∗ (POC_listY0′ − POC_Cur) > 0, onde POC_listY0′ representa a segunda contagens de ordem de imagem; e quando a segunda lista de imagens de referência inclui a segunda contagens de ordem de imagem, deter- minar, como o valor de índice da segunda imagem de referência, um número da imagem de referência representada pela segunda contagens de ordem de imagem na segunda lista de imagens de referência.
[0078] Opcionalmente, em outra possível implementação deste pe- dido, um método para "obter um valor de índice de uma segunda ima- gem de referência" é: calcular uma terceira contagens de ordem de ima- gem com base na contagens de ordem de imagem da imagem corrente e na contagens de ordem de imagem da primeira imagem de referência de acordo com uma fórmula POC_listX ≠ POC_listY0′′, onde POC_listY0′′ representa a terceira contagens de ordem de imagem; e determinar, como o valor de índice da segunda imagem de referência, um número da imagem de referência representada pela terceira contagens de or- dem de imagem na segunda lista de imagens de referência.
[0079] Opcionalmente, em outra possível implementação deste pe-
dido, um método para “obter um valor de índice de uma segunda ima- gem de referência" é: calcular uma primeira contagens de ordem de imagem com base na contagens de ordem de imagem da imagem cor- rente e na contagens de ordem de imagem da primeira imagem de re- ferência de acordo com uma fórmula POC_listY0 = 2 ∗ POC_Cur − POC_listX, onde POC_Cur representa a contagens de ordem de imagem da imagem corrente, POC_listX representa a contagens de ordem de imagem da primeira imagem de referência, e POC_listY representa a pri- meira contagens de ordem de imagem.
Quando a segunda lista de ima- gens de referência inclui a primeira contagem de ordem de imagem, um número da imagem de referência representada pela primeira contagens de ordem de imagem na segunda lista de imagens de referência é de- terminado como o valor de índice da segunda imagem de referência.
Quando a segunda lista de imagens de referência não inclui a primeira contagens de ordem de imagem, uma segunda contagens de ordem de imagem é calculada com base na contagens de ordem de imagem da imagem corrente e na contagens de ordem de imagem da primeira ima- gem de referência de acordo com uma fórmula (POC_Cur − POC_listX) ∗ (POC_listY0′ − POC_Cur) > 0, onde POC_listY0′ representa a segunda contagens de ordem de imagem.
Quando a segunda lista de imagens de referência inclui a segunda contagens de ordem de imagem, um nú- mero da imagem de referência representada pela segunda contagens de ordem de imagem na segunda lista de imagens de referência é de- terminado como o valor de índice da segunda imagem de referência.
Quando a segunda lista de imagens de referência não inclui a segunda contagens de ordem de imagem, uma terceira contagens de ordem de imagem é calculada com base na contagens de ordem de imagem da imagem corrente e na contagens de ordem de imagem da primeira ima- gem de referência de acordo com uma fórmula POC_listX ≠ POC_listY0′′, onde POC_listY0′′ representa a terceira contagens de ordem de imagem;
e um número da imagem de referência representada pela terceira con- tagens de ordem de imagem na segunda lista de imagens de referência é determinado como o valor de índice da segunda imagem de referên- cia.
[0080] Opcionalmente, em outra possível implementação deste pe- dido, um método para “obter um valor de índice de uma segunda ima- gem de referência" é: analisar um fluxo de bits para obter o valor de índice da segunda imagem de referência.
[0081] Pode ser aprendido que pode haver uma pluralidade de mé- todos para “obter um valor de índice de uma segunda imagem de refe- rência" neste pedido. Um método específico para obter o valor de índice da segunda imagem de referência precisa ser determinado com base nas exigências reais ou ser predefinido.
[0082] De acordo com um nono aspecto, um dispositivo de interpre- dição bidirecional é fornecido. O dispositivo de interpredição bidirecio- nal inclui uma unidade de obtenção e uma unidade de determinação.
[0083] Especificamente, a unidade de obtenção é configurada para: obter a informação de indicação, onde a informação de indicação é usada para indicar a determinação da segunda informação de movi- mento com base na primeira informação de movimento, a primeira in- formação de movimento é a informação de movimento de um bloco cor- rente em uma primeira direção, e a segunda informação de movimento é a informação de movimento do bloco corrente em uma segunda dire- ção; e obter a primeira informação de movimento. A unidade de deter- minação é configurada para: determinar a segunda informação de mo- vimento com base na primeira informação de movimento obtida pela unidade de obtenção, e determinar uma amostra de previsão do bloco corrente com base na primeira informação de movimento e na segunda informação de movimento.
[0084] Opcionalmente, em uma possível implementação deste pe- dido, a unidade de determinação é especificamente configurada para: obter um valor de índice de uma primeira imagem de referência na pri- meira informação de movimento, e determinar uma contagens de ordem de imagem da primeira imagem de referência com base no valor de ín- dice da primeira imagem de referência e uma primeira lista de imagens de referência, onde a primeira imagem de referência é uma imagem de referência do bloco corrente na primeira direção, e o valor de índice da primeira imagem de referência é um número da primeira imagem de re- ferência na primeira lista de imagens de referência; obter um valor de índice de uma segunda imagem de referência, e determinar uma conta- gens de ordem de imagem da segunda imagem de referência com base no valor de índice da segunda imagem de referência e uma segunda lista de imagens de referência, onde a segunda imagem de referência é uma imagem de referência do bloco corrente na segunda direção, e o valor de índice da segunda imagem de referência é um número da se- gunda imagem de referência na segunda lista de imagens de referência; determinar um primeiro vetor de movimento com base em uma primeira diferença de vetor de movimento e um primeiro indicador de preditor do vetor de movimento que estão na primeira informação de movimento, onde o primeiro vetor de movimento é um vetor de movimento do bloco corrente na primeira direção; e determinar a segundo vetor de movi- mento na segunda informação de movimento de acordo com a seguinte fórmula: 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 mv_ lY = × mv_ lX. 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋
[0085] Aqui, mv_ lY representa o segundo vetor de movimento, 𝑃𝑂𝐶_ 𝐶𝑢𝑟 representa uma contagens de ordem de imagem da imagem corrente, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋 representa a contagens de ordem de imagem da primeira imagem de referência, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 representa a contagens de ordem de imagem da segunda imagem de referência, mv_ lX representa o primeiro vetor de movimento, e o segundo vetor de movimento é um vetor de movimento do bloco corrente na segunda direção.
[0086] Opcionalmente, em outra possível implementação deste pe- dido, a unidade de determinação é especificamente configurada para: obter um valor de índice de um primeira imagem de referência na pri- meira informação de movimento, e determinar uma contagens de ordem de imagem da primeira imagem de referência com base no valor de ín- dice da primeira imagem de referência e uma primeira lista de imagens de referência, onde a primeira imagem de referência é uma imagem de referência do bloco corrente na primeira direção, e o valor de índice da primeira imagem de referência é um número da primeira imagem de re- ferência na primeira lista de imagens de referência; obter um valor de índice de uma segunda imagem de referência, e determinar uma conta- gens de ordem de imagem da segunda imagem de referência com base no valor de índice da segunda imagem de referência e uma segunda lista de imagens de referência, onde a segunda imagem de referência é uma imagem de referência do bloco corrente na segunda direção, e o valor de índice da segunda imagem de referência é um número da se- gunda imagem de referência na segunda lista de imagens de referência; determinar um primeiro vetor de movimento com base em uma primeira diferença de vetor de movimento e um primeiro indicador de preditor do vetor de movimento que estão na primeira informação de movimento, onde o primeiro vetor de movimento é um vetor de movimento do bloco corrente na primeira direção; e quando a primeira imagem de referência for uma imagem de referência de avanço do bloco corrente e a segunda imagem de referência for uma imagem de referência de retorno do bloco corrente, ou quando a primeira imagem de referência for uma imagem de referência de retorno do bloco corrente e a segunda imagem de re- ferência é uma imagem de referência de avanço do bloco corrente, ou quando a primeira imagem de referência e a segunda imagem de refe- rência forem uma imagem de referência de avanço do bloco corrente, ou quando a primeira imagem de referência e a segunda imagem de referência forem uma imagem de referência de retorno do bloco cor- rente, determinar um segundo vetor de movimento na segunda informa- ção de movimento de acordo com uma fórmula mv_ lY = −mv_ lX, onde nesta fórmula, mv_ lY representa o segundo vetor de movimento, mv_ lX representa o primeiro vetor de movimento, e o segundo vetor de movi- mento é um vetor de movimento do bloco corrente na segunda direção.
[0087] Opcionalmente, em outra possível implementação deste pe- dido, a unidade de determinação é especificamente configurada para determinar um segundo vetor de movimento na segunda informação de movimento de acordo com uma fórmula mv_ lY = −mv_ lX, onde nesta fór- mula, mv_ lY representa o segundo vetor de movimento, mv_ lX repre- senta um primeiro vetor de movimento, e o segundo vetor de movimento é um vetor de movimento do bloco corrente na segunda direção.
[0088] Opcionalmente, em outra possível implementação deste pe- dido, a unidade de determinação é especificamente configurada para: obter um valor de índice de uma primeira imagem de referência e uma primeira diferença de vetor de movimento que estão na primeira infor- mação de movimento, e determinar uma contagens de ordem de ima- gem da primeira imagem de referência com base no valor de índice da primeira imagem de referência e uma primeira lista de imagens de refe- rência, onde a primeira imagem de referência é uma imagem de refe- rência do bloco corrente na primeira direção, e o valor de índice da pri- meira imagem de referência é um número da primeira imagem de refe- rência na primeira lista de imagens de referência; obter um valor de ín- dice de uma segunda imagem de referência, determinar uma contagens de ordem de imagem da segunda imagem de referência com base no valor de índice da segunda imagem de referência e uma segunda lista de imagens de referência, e determinar um segundo vetor de movimento previsto com base no valor de índice da segunda imagem de referência e uma segunda lista de vetor de movimento previsto candidato, onde o segundo vetor de movimento previsto é um vetor de movimento previsto do bloco corrente na segunda direção, a segunda imagem de referência é uma imagem de referência do bloco corrente na segunda direção, e o valor de índice da segunda imagem de referência é um número da se- gunda imagem de referência na segunda lista de imagens de referência; determinar uma segunda diferença de vetor de movimento na segunda informação de movimento de acordo com a seguinte fórmula: 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 mvd_ lY = × mvd_ lX, onde 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋 mvd_ lY representa a segunda diferença de vetor de movimento, 𝑃𝑂𝐶_ 𝐶𝑢𝑟 representa uma contagens de ordem de imagem da imagem corrente, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋 representa a contagens de ordem de imagem da primeira imagem de referência, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 representa a contagens de ordem de imagem da segunda imagem de referência, e mvd_ lX representa a pri- meira diferença de vetor de movimento; e determinar um segundo vetor de movimento com base no segundo vetor de movimento previsto e na segunda diferença de vetor de movimento, onde o segundo vetor de movimento é um vetor de movimento do bloco corrente na segunda di- reção.
[0089] Opcionalmente, em outra possível implementação deste pe- dido, a unidade de determinação é especificamente configurada para: obter um valor de índice de um primeira imagem de referência e um primeiro vetor de movimento que estão na primeira informação de mo- vimento, e determinar uma contagens de ordem de imagem da primeira imagem de referência com base no valor de índice da primeira imagem de referência e uma primeira lista de imagens de referência, onde a pri- meira imagem de referência é uma imagem de referência do bloco cor- rente na primeira direção, e o valor de índice da primeira imagem de referência é um número da primeira imagem de referência na primeira lista de imagens de referência; obter um valor de índice de uma segunda imagem de referência, determinar uma contagens de ordem de imagem da segunda imagem de referência com base no valor de índice da se- gunda imagem de referência e uma segunda lista de imagens de refe- rência, e determinar um segundo vetor de movimento previsto com base no valor de índice da segunda imagem de referência e uma segunda lista de vetor de movimento previsto candidato, onde o segundo vetor de movimento previsto é um vetor de movimento previsto do bloco cor- rente na segunda direção, a segunda imagem de referência é uma ima- gem de referência do bloco corrente na segunda direção, e o valor de índice da segunda imagem de referência é um número da segunda ima- gem de referência na segunda lista de imagens de referência; quando a primeira imagem de referência for uma imagem de referência de avanço do bloco corrente e a segunda imagem de referência for uma imagem de referência de retorno do bloco corrente, ou quando a primeira ima- gem de referência for uma imagem de referência de retorno do bloco corrente e a segunda imagem de referência for uma imagem de referên- cia de avanço do bloco corrente, ou quando a primeira imagem de refe- rência e a segunda imagem de referência orem uma imagem de refe- rência de avanço do bloco corrente, ou quando a primeira imagem de referência e a segunda imagem de referência forem uma imagem de referência de retorno do bloco corrente, determinar uma segunda dife- rença de vetor de movimento na segunda informação de movimento de acordo com uma fórmula mvd_ lY = −mvd_ lX, onde mvd_ lY representa a segunda diferença de vetor de movimento, e mvd_ lX representa uma pri- meira diferença de vetor de movimento; e determinar um segundo vetor de movimento com base no segundo vetor de movimento previsto e na segunda diferença de vetor de movimento, onde o segundo vetor de movimento é um vetor de movimento do bloco corrente na segunda di- reção.
[0090] Opcionalmente, em outra possível implementação deste pe- dido, a unidade de determinação é especificamente configurada para: determinar uma segunda diferença de vetor de movimento na segunda informação de movimento de acordo com uma fórmula mvd_ lY = −mvd_ lX, onde nesta fórmula, mvd_ lY representa a segunda diferença de vetor de movimento, e mvd_ lX representa uma primeira diferença de vetor de movimento; e determinar um segundo vetor de movimento com base em um segundo vetor de movimento previsto e a segunda dife- rença de vetor de movimento, onde o segundo vetor de movimento é um vetor de movimento do bloco corrente na segunda direção.
[0091] Opcionalmente, em outra possível implementação deste pe- dido, a unidade de obtenção é especificamente configurada para: calcu- lar uma primeira contagens de ordem de imagem com base na conta- gens de ordem de imagem da imagem corrente e na contagens de or- dem de imagem da primeira imagem de referência de acordo com uma fórmula POC_listY0 = 2 ∗ POC_Cur − POC_listX, onde POC_Cur representa a contagens de ordem de imagem da imagem corrente, POC_listX repre- senta a contagens de ordem de imagem da primeira imagem de refe- rência, e POC_listY representa a primeira contagens de ordem de ima- gem; e quando a segunda lista de imagens de referência inclui a pri- meira contagens de ordem de imagem, determinar, como o valor de ín- dice da segunda imagem de referência, um número da imagem de refe- rência representada pela primeira contagens de ordem de imagem na segunda lista de imagens de referência.
[0092] Opcionalmente, em outra possível implementação deste pe- dido, a unidade de obtenção é especificamente configurada para: calcu- lar uma segunda contagens de ordem de imagem com base na conta-
gens de ordem de imagem da imagem corrente e na contagens de or- dem de imagem da primeira imagem de referência de acordo com uma fórmula (POC_Cur − POC_listX) ∗ (POC_listY0′ − POC_Cur) > 0, onde POC_listY0′ representa a segunda contagens de ordem de imagem; e quando a segunda lista de imagens de referência inclui a segunda con- tagens de ordem de imagem, determinar, como o valor de índice da se- gunda imagem de referência, um número da imagem de referência re- presentada pela segunda contagens de ordem de imagem na segunda lista de imagens de referência.
[0093] Opcionalmente, em outra possível implementação deste pe- dido, a unidade de obtenção é especificamente configurada para: calcu- lar uma terceira contagens de ordem de imagem com base na conta- gens de ordem de imagem da imagem corrente e na contagens de or- dem de imagem da primeira imagem de referência de acordo com uma fórmula POC_listX ≠ POC_listY0′′, onde POC_listY0′′ representa a terceira contagens de ordem de imagem; e determinar, como o valor de índice da segunda imagem de referência, um número da imagem de referência representada pela terceira contagens de ordem de imagem na segunda lista de imagens de referência.
[0094] De acordo com um décimo aspecto, um método de interpre- dição bidirecional é fornecido. Há pluralidade de implementações para o método de interpredição bidirecional.
[0095] Uma implementação inclui: analisar um fluxo de bits para ob- ter um primeiro identificador, onde o primeiro identificador é usado para indicar se determinar a segunda informação de movimento com base na primeira informação de movimento, a primeira informação de movi- mento é a informação de movimento de um bloco corrente na primeira direção, e a segunda informação de movimento é a informação de mo- vimento do bloco corrente em uma segunda direção; se um valor do primeiro identificador for um primeiro valor predefinido, obter a primeira informação de movimento, e determinar a segunda informação de mo- vimento com base na primeira informação de movimento; e determinar uma amostra de previsão do bloco corrente com base na primeira infor- mação de movimento e na segunda informação de movimento.
[0096] Outra implementação inclui: analisar um fluxo de bits para obter um segundo identificador, onde o segundo identificador é usado para indicar se calcular a informação de movimento de um bloco cor- rente usando um algoritmo de derivação de informação de movimento; se um valor do segundo identificador for um segundo valor predefinido, obter um terceiro identificador, onde o terceiro identificador é usado para indicar se determinar a segunda informação de movimento com base na primeira informação de movimento, a primeira informação de movi- mento é a informação de movimento do bloco corrente na primeira dire- ção, e a segunda informação de movimento é a informação de movi- mento do bloco corrente em uma segunda direção; se um valor do ter- ceiro identificador for um terceiro valor predefinido, obter a primeira in- formação de movimento, e determinar a segunda informação de movi- mento com base na primeira informação de movimento; e determinar uma amostra de previsão do bloco corrente com base na primeira infor- mação de movimento e na segunda informação de movimento.
[0097] Outra implementação inclui: analisar um fluxo de bits para obter um segundo identificador, onde o segundo identificador é usado para indicar se calcular informação de movimento de um bloco corrente usando um algoritmo de derivação de informação de movimento; se um valor do segundo identificador for um segundo valor predefinido, obter a primeira informação de movimento, e determinar a segunda informação de movimento com base na primeira informação de movimento, onde a primeira informação de movimento é a informação de movimento do bloco corrente na primeira direção, e a segunda informação de movi- mento é a informação de movimento do bloco corrente em uma segunda direção; e determinar uma amostra de previsão do bloco corrente com base na primeira informação de movimento e na segunda informação de movimento.
[0098] Outra implementação inclui: analisar um fluxo de bits para obter um quarto identificador, onde o quarto identificador é usado para indicar se calcular informação de movimento de um bloco corrente usando um algoritmo de derivação de informação de movimento; se um valor do quarto identificador for um quarto valor predefinido, determinar um valor de índice de uma primeira imagem de referência e um valor de índice de uma segunda imagem de referência com base em uma pri- meira lista de imagens de referência e uma segunda lista de imagens de referência, onde a primeira lista de imagens de referência é uma lista de imagens de referência do bloco corrente na primeira direção, a se- gunda lista de imagens de referência é uma lista de imagens de refe- rência do bloco corrente em uma segunda direção, a primeira imagem de referência é uma imagem de referência do bloco corrente na primeira direção, e a segunda imagem de referência é uma imagem de referência do bloco corrente na segunda direção; obter uma primeira diferença de vetor de movimento e um primeiro indicador de preditor do vetor de mo- vimento, e determinar a segunda informação de movimento com base na primeira informação de movimento, onde a primeira informação de movimento inclui o valor de índice da primeira imagem de referência, a primeira diferença de vetor de movimento, e o primeiro indicador de pre- ditor do vetor de movimento, e a segunda informação de movimento é a informação de movimento do bloco corrente na segunda direção; e de- terminar uma amostra de previsão do bloco corrente com base na pri- meira informação de movimento e na segunda informação de movi- mento.
[0099] Outra implementação inclui: analisar um fluxo de bits para obter um primeiro identificador, onde o primeiro identificador é usado para indicar se determinar a segunda informação de movimento com base na primeira informação de movimento, a primeira informação de movimento é a informação de movimento de um bloco corrente na pri- meira direção, e a segunda informação de movimento é a informação de movimento do bloco corrente em uma segunda direção; se um valor do primeiro identificador for um oitavo valor predefinido, obter um quinto identificador, onde o quinto identificador é usado para indicar se deter- minar a primeira informação de movimento com base na segunda infor- mação de movimento; se um valor do quinto identificador for um quinto valor predefinido, obter a segunda informação de movimento, e deter- minar a primeira informação de movimento com base na segunda infor- mação de movimento; e determinar uma amostra de previsão do bloco corrente com base na primeira informação de movimento e na segunda informação de movimento.
[00100] Outra implementação inclui: analisar um fluxo de bits para obter um segundo identificador, onde o segundo identificador é usado para indicar se calcular a informação de movimento de um bloco cor- rente usando um algoritmo de derivação de informação de movimento; se um valor do segundo identificador for um segundo valor predefinido, obter um terceiro identificador, onde o terceiro identificador é usado para indicar se determinar a segunda informação de movimento com base na primeira informação de movimento, a primeira informação de movi- mento é a informação de movimento do bloco corrente na primeira dire- ção, e a segunda informação de movimento é a informação de movi- mento do bloco corrente em uma segunda direção; se um valor do ter- ceiro identificador for um sexto valor predefinido, obter a segunda infor- mação de movimento, e determinar a primeira informação de movimento com base na segunda informação de movimento; e determinar uma amostra de previsão do bloco corrente com base na primeira informação de movimento e na segunda informação de movimento.
[00101] Para descrições específicas do primeiro identificador ao quarto identificador, consulte as seguintes descrições.
[00102] No método de interpredição bidirecional fornecido neste pe- dido, após um identificador for obtido analisando o fluxo de bits, se de- terminar a segunda informação de movimento com base na primeira in- formação de movimento é determinado com base em um valor do iden- tificador. Após ser determinado que a segunda informação de movi- mento precisa ser determinada com base na primeira informação de movimento, a primeira informação de movimento é obtida, e então a se- gunda informação de movimento é determinada com base na primeira informação de movimento obtida. Dessa forma, o fluxo de bits precisa incluir apenas o identificador correspondente e a primeira informação de movimento, e não precisa mais incluir a segunda informação de movi- mento. Em comparação com a técnica anterior em que um fluxo de bits inclui a informação de movimento de cada bloco de imagem em cada direção, o método de interpredição bidirecional fornecido neste pedido reduz efetivamente a informação de movimento incluída no fluxo de bits, e melhora a utilização efetiva de recursos de transmissão, uma taxa de transmissão, e uma taxa de codificação.
[00103] De acordo com um décimo primeiro aspecto, um dispositivo de interpredição bidirecional é fornecido. O dispositivo de interpredição bidirecional inclui uma unidade de obtenção e uma unidade de determi- nação.
[00104] Especificamente, em uma implementação, a unidade de ob- tenção é configurada para: analisar um fluxo de bits para obter um pri- meiro identificador, onde o primeiro identificador é usado para indicar se determinar a segunda informação de movimento com base na primeira informação de movimento, a primeira informação de movimento é a in- formação de movimento de um bloco corrente na primeira direção, e a segunda informação de movimento é a informação de movimento do bloco corrente em uma segunda direção; e se um valor do primeiro iden- tificador for um primeiro valor predefinido, obter a primeira informação de movimento. A unidade de determinação é configurada para: determi- nar a segunda informação de movimento com base na primeira informa- ção de movimento obtida pela unidade de obtenção, e determinar uma amostra de previsão do bloco corrente com base na primeira informação de movimento e na segunda informação de movimento.
[00105] Em outra implementação, a unidade de obtenção é configu- rada para: analisar um fluxo de bits para obter um segundo identificador, onde o segundo identificador é usado para indicar se calcular a informa- ção de movimento de um bloco corrente usando um algoritmo de deri- vação de informação de movimento; se um valor do segundo identifica- dor for um segundo valor predefinido, obter um terceiro identificador, onde o terceiro identificador é usado para indicar se determinar a se- gunda informação de movimento com base na primeira informação de movimento, a primeira informação de movimento é a informação de mo- vimento do bloco corrente na primeira direção, e a segunda informação de movimento é a informação de movimento do bloco corrente em uma segunda direção; e se um valor do terceiro identificador for um terceiro valor predefinido, obter a primeira informação de movimento. A unidade de determinação é configurada para: determinar a segunda informação de movimento com base na primeira informação de movimento obtida pela unidade de obtenção, e determinar uma amostra de previsão do bloco corrente com base na primeira informação de movimento e na se- gunda informação de movimento.
[00106] Em outra implementação, a unidade de obtenção é configu- rada para: analisar um fluxo de bits para obter um segundo identificador, onde o segundo identificador é usado para indicar se calcular a informa- ção de movimento de um bloco corrente usando um algoritmo de deri-
vação de informação de movimento; e se um valor do segundo identifi- cador for um segundo valor predefinido, obter a primeira informação de movimento. A unidade de determinação é configurada para: determinar a segunda informação de movimento com base na primeira informação de movimento obtida pela unidade de obtenção, onde a primeira infor- mação de movimento é a informação de movimento do bloco corrente na primeira direção, e a segunda informação de movimento é a informa- ção de movimento do bloco corrente em uma segunda direção; e deter- minar uma amostra de previsão do bloco corrente com base na primeira informação de movimento e na segunda informação de movimento.
[00107] Em outra implementação, a unidade de obtenção é configu- rada para analisar um fluxo de bits para obter um quarto identificador, onde o quarto identificador é usado para indicar se calcular a informação de movimento de um bloco corrente usando um algoritmo de derivação de informação de movimento. A unidade de determinação é configurada para: se um valor do quarto identificador obtido pela unidade de obten- ção for um quarto valor predefinido, determinar um valor de índice de uma primeira imagem de referência e um valor de índice de uma se- gunda imagem de referência com base em uma primeira lista de ima- gens de referência e uma segunda lista de imagens de referência, onde a primeira lista de imagens de referência é uma lista de imagens de referência do bloco corrente na primeira direção, a segunda lista de ima- gens de referência é uma lista de imagens de referência do bloco cor- rente em uma segunda direção, a primeira imagem de referência é uma imagem de referência do bloco corrente na primeira direção, e a se- gunda imagem de referência é uma imagem de referência do bloco cor- rente na segunda direção. A unidade de obtenção é ainda configurada para obter uma primeira diferença de vetor de movimento e um primeiro indicador de preditor do vetor de movimento. A unidade de determinação é ainda configurada para: determinar a segunda informação de movi- mento com base na primeira informação de movimento, onde a primeira informação de movimento inclui o valor de índice da primeira imagem de referência, a primeira diferença de vetor de movimento, e o primeiro indicador de preditor do vetor de movimento, e a segunda informação de movimento é a informação de movimento do bloco corrente na se- gunda direção; e determinar uma amostra de previsão do bloco corrente com base na primeira informação de movimento e na segunda informa- ção de movimento.
[00108] De acordo com um décimo segundo aspecto, um terminal é fornecido. O terminal inclui um ou mais processadores, uma memória e uma interface de comunicação. A memória e a interface de comunicação são acopladas a um ou mais processadores. A memória é configurada para armazenar o código do programa de computador e o código do programa de computador inclui uma instrução. Quando um ou mais pro- cessadores executam a instrução, o terminal executa o método (ou o método correspondente ao dispositivo) de acordo com qualquer um dos aspectos supracitados e as possíveis implementações dos aspectos su- pracitados.
[00109] De acordo com um décimo terceiro aspecto, um decodifica- dor de vídeo é fornecido, incluindo um meio de armazenamento não vo- látil e uma unidade de processamento central. O meio de armazena- mento não volátil armazena um programa executável. A unidade de pro- cessamento central é conectada ao meio de armazenamento não volátil e executa o programa executável para implementar o método (ou o mé- todo correspondente ao dispositivo) de acordo com qualquer um dos aspectos supracitados e as possíveis implementações dos aspectos su- pracitados.
[00110] De acordo com um décimo quarto aspecto, um decodificador é fornecido. O decodificador inclui um dispositivo de interpredição bidi- recional e um módulo de reconstrução. O módulo de reconstrução é configurado para determinar um valor de amostra reconstruído de um bloco corrente com base em uma amostra de previsão obtida pelo dis- positivo de interpredição bidirecional. O dispositivo de interpredição bi- direcional pode implementar o método (ou o método correspondente ao dispositivo) de acordo com qualquer um dos aspectos supracitados e as possíveis implementações dos aspectos supracitados.
[00111] De acordo com um décimo quinto aspecto, um codificador é fornecido, e pode implementar o método (ou o método correspondente ao dispositivo) de acordo com qualquer um dos aspectos supracitados e as possíveis implementações dos aspectos supracitados que corres- pondem a ou são acoplados ao decodificador supracitado.
[00112] De acordo com um décimo sexto aspecto, um meio de arma- zenamento legível por computador é fornecido. O meio de armazena- mento legível por computador armazena uma instrução e quando a ins- trução é executada no terminal anterior, o terminal é habilitado para exe- cutar o método (ou o método correspondente ao dispositivo) de acordo com qualquer um dos aspectos supracitados e as possíveis implemen- tações dos aspectos supracitados.
[00113] De acordo com um décimo sétimo aspecto, um produto de programa de computador incluindo uma instrução é fornecido. Quando o produto de programa de computador é executado no terminal anterior, o terminal é habilitado para executar o método de interpredição bidire- cional de acordo com qualquer um dos aspectos supracitados e as pos- síveis implementações dos aspectos supracitados.
[00114] Neste pedido, um nome do dispositivo de interpredição bidi- recional não impõe nenhuma limitação aos dispositivos ou módulos de função. Na implementação real, os dispositivos ou módulos de função podem ter outros nomes. Desde que as funções dos dispositivos ou dos módulos de função sejam semelhantes àqueles neste pedido, os dispo- sitivos ou os módulos de função caem dentro do escopo das reivindica- ções neste pedido e suas tecnologias equivalentes.
[00115] Em descrições específicas do primeiro aspecto ao décimo sexto aspecto e várias implementações do primeiro aspecto ao décimo sexto aspecto neste pedido, a combinação livre pode ser implementada sem violar uma lei natural. Além disso, algumas expressões e efeitos também podem ser universais em diferentes soluções. Os detalhes não são descritos aqui.
[00116] Esses aspectos ou outros aspectos nesta aplicação são mais concisos e compreensíveis nas descrições a seguir. Breve descrição dos desenhos
[00117] A Figura 1 é um diagrama estrutural esquemático de um sis- tema de codificação de vídeo de acordo com uma modalidade deste pedido;
[00118] A Figura 2 é um diagrama estrutural esquemático de um co- dificador de vídeo de acordo com uma modalidade deste pedido;
[00119] A Figura 3 é um diagrama estrutural esquemático de um de- codificador de vídeo de acordo com uma modalidade deste pedido;
[00120] A Figura 4 é um fluxograma esquemático de um método de interpredição bidirecional de acordo com uma modalidade deste pedido;
[00121] A Figura 5A é um fluxograma esquemático de outra método de interpredição bidirecional de acordo com uma modalidade deste pe- dido;
[00122] A Figura 5B é um diagrama estrutural esquemático de um dispositivo de interpredição bidirecional de acordo com uma modali- dade deste pedido;
[00123] A Figura 5C é um diagrama estrutural esquemático de outra dispositivo de interpredição bidirecional de acordo com uma modali- dade deste pedido;
[00124] A Figura 6A é um diagrama estrutural esquemático ainda de outro dispositivo de interpredição bidirecional de acordo com uma mo- dalidade deste pedido;
[00125] A Figura 6B é um diagrama estrutural esquemático de um dispositivo de codificação de acordo com uma modalidade deste pedido;
[00126] A Figura 7 é um diagrama em blocos de um exemplo da es- trutura de um sistema de fornecimento de conteúdo 3100 que imple- menta um serviço de entrega de conteúdo; e
[00127] A Figura 8 é um diagrama em blocos de um exemplo de es- trutura de um dispositivo terminal. descrição das modalidades
[00128] No relatório descritivo, reivindicações e desenhos anexos deste pedido, termos como "primeiro", "segundo", "terceiro" e "quarto" destinam-se a distinguir entre diferentes objetos, mas não indicam uma ordem particular.
[00129] Nas modalidades deste pedido, a palavra como "exemplo" ou "por exemplo" é usada para representar um exemplo, uma ilustração ou uma descrição. Qualquer modalidade ou esquema de projeto des- crito como a palavra "exemplo" ou "por exemplo" nas modalidades deste pedido não deve ser explicado como sendo mais preferido ou tendo mais vantagens do que outra modalidade ou esquema de projeto. Exa- tamente, o uso de palavras como "exemplo" ou "por exemplo" tem a intenção de apresentar um conceito relacionado de uma maneira espe- cífica.
[00130] Para facilitar a compreensão das modalidades deste pedido, os elementos relacionados nas modalidades deste pedido são descritos aqui pela primeira vez.
[00131] Codificação de imagem (codificação de imagem): um pro- cesso de compactação de uma sequência de imagem em um fluxo de bits.
[00132] Decodificação de imagem (decodificação de imagem): um processo de restauração de um fluxo de bits para uma imagem recons- truída de acordo com uma regra de sintaxe específica e um método de processamento específico.
[00133] Corrente mente, um processo de codificação de imagem de vídeo é o seguinte: um lado do codificador primeiro divide uma imagem original em uma pluralidade de partes que não se sobrepõem, e cada parte pode ser usada como um bloco de imagem. Em seguida, o lado do codificador executa operações como previsão (Prediction), transfor- mada (Transform) e quantização (Quantization) em cada bloco de ima- gem, para obter um fluxo de bits correspondente ao bloco de imagem. A previsão é obter um bloco de previsão do bloco de imagem, de modo que apenas uma diferença (ou referida como um bloco residual ou resi- dual) entre o bloco de imagem e o bloco de previsão do bloco de ima- gem possa ser codificada e transmitida, reduzindo assim despesas ge- rais de transmissão. Finalmente, o lado do codificador envia o fluxo de bits correspondente ao bloco de imagem para um lado do decodificador.
[00134] Correspondentemente, após receber o fluxo de bits, o lado do decodificador executa um processo de decodificação de vídeo. Es- pecificamente, o lado do decodificador executa operações como previ- são, quantização inversa e transformação inversa no fluxo de bits rece- bido para obter um bloco de imagem reconstruído (ou referido como um bloco de imagem após a reconstrução). Esse processo é conhecido como processo de reconstrução de imagem (ou processo de reconstru- ção de imagem). Então, o lado do decodificador monta blocos recons- truídos de todos os blocos de imagem na imagem original para obter uma imagem reconstruída da imagem original e reproduz a imagem re- construída.
[00135] Uma tecnologia existente de codificação de imagem de vídeo inclui intraprevisão e interpredição . Interpredição é previsão concluída pelo bloco de imagem de codificação/bloco de imagem de decodificação usando uma correlação entre uma imagem corrente e uma imagem de referência da imagem corrente. A imagem corrente pode ter uma ou mais imagens de referência. Especificamente, um bloco de imagem de previsão de um bloco corrente é gerado com base em uma amostra em uma imagem de referência do bloco corrente.
[00136] De modo geral, o bloco de imagem de previsão do bloco cor- rente pode ser gerado com base em apenas um bloco de imagem de referência, ou o bloco de imagem de previsão do bloco corrente pode ser gerado com base em pelo menos dois blocos de imagem de refe- rência. Gerar o bloco de imagem de previsão do bloco corrente com base em um bloco de imagem de referência é referido como previsão unidirecional, e gerar o bloco de imagem de previsão do bloco corrente com base em pelo menos dois blocos de imagem de referência é refe- rido como interpredição bidirecional. Pelo menos dois blocos de ima- gem de referência na interpredição bidirecional podem ser de uma mesma imagem de referência ou diferentes imagens de referência. Em outras palavras, uma "direção" neste pedido é uma definição generali- zada. Uma direção neste pedido corresponde a um bloco de imagem de referência. As seguintes primeira direção e segunda direção correspon- dem aos diferentes blocos de imagem de referência. Os dois blocos de imagem de referência podem ser incluídos em uma imagem de referên- cia de avanço/imagem de referência de retorno do bloco corrente; ou um bloco de imagem de referência pode ser incluído em uma imagem de referência de avanço do bloco corrente, e o outro bloco de imagem de referência pode ser incluído em uma imagem de referência de re- torno do bloco corrente. Portanto, pode ser entendido que a primeira direção e a segunda direção correspondem aos diferentes blocos de referência, ainda correspondem às diferentes imagens de referência, e ainda correspondem às diferentes listas de imagens de referência (por exemplo, L0 e/ou L1). Ambas a primeira direção e a segunda direção podem ser direções de avanço ou direções de retorno, ou a primeira direção e a segunda direção podem ser respectivamente uma direção de avanço e uma direção de retorno ou respectivamente uma direção de retorno e uma direção de avanço.
[00137] Opcionalmente, a interpredição bidirecional pode ser inter- predição realizada usando uma correlação entre uma imagem de vídeo corrente e uma imagem de vídeo que é codificada e reproduzida antes da imagem de vídeo corrente e uma correlação entre a imagem de ví- deo corrente e uma imagem de vídeo que é codificada antes da imagem de vídeo corrente e reproduzida após a imagem de vídeo corrente .
[00138] Pode ser aprendido que a interpredição bidirecional inclui interpredição em duas direções que é, de modo geral, referida como interpredição de avanço e interpredição de retorno. A interpredição de avanço pode ser interpredição realizada usando a correlação entre a imagem de vídeo corrente e a imagem de vídeo que é codificada e reproduzida antes da imagem de vídeo corrente . A interpredição de retorno pode ser interpredição realizada usando a correlação entre a imagem de vídeo corrente e a imagem de vídeo que é codificada antes da imagem de vídeo corrente e reproduzida após a imagem de vídeo corrente .
[00139] A interpredição de avanço corresponde a uma lista de ima- gens de referência de avanço como L0 (ou L1), e interpredição de re- torno corresponde a uma lista de imagens de referência de retorno como L1 (ou L0). As duas listas de imagens de referência podem incluir uma mesma quantidade de imagens de referência ou diferentes quantidades de imagens de referência.
[00140] A compensação de movimento (Motion Compensation, MC) é um processo para prever um bloco corrente usando um bloco de ima- gem de referência.
[00141] Na maioria das estruturas de codificação, uma sequência de vídeo inclui uma série de imagens (picture), uma imagem é particionada em pelo menos uma fatia (slice) e cada fatia é ainda particionada em blocos de imagem (block). A codificação / decodificação de vídeo é rea- lizada por bloco de imagem. A codificação / decodificação pode ser rea- lizada da esquerda para a direita e de cima para baixo, linha por linha, de um local superior esquerdo da imagem. Aqui, o bloco de imagem pode ser um macrobloco (macroblock, MB) no padrão de codificação de vídeo H.264, ou pode ser uma unidade de codificação (Coding Unit, CU) no padrão de codificação de vídeo de alta eficiência (High Efficiency Vi- deo Coding, HEVC). Isso não é especificamente limitado nas modalida- des deste pedido.
[00142] Neste pedido, um bloco de imagem que está sendo codifi- cado/decodificado é referido como um bloco de imagem corrente ou um bloco corrente (current block), e uma imagem em que o bloco corrente está localizado é referida como uma imagem corrente.
[00143] De modo geral, a imagem corrente pode ser ima previsão unidirecional imagem (imagem P), ou pode ser uma imagem de previsão bidirecional (imagem B). Quando a imagem corrente é a imagem P, a imagem corrente tem uma lista de imagens de referência. Quando a imagem corrente for a imagem B, a imagem corrente tem duas listas de imagens de referência, e as duas listas são, de modo geral, referidas como L0 e L1. Cada lista de imagens de referência inclui pelo menos uma imagem de referência usada para reconstruir a imagem corrente. A imagem de referência é usada para fornecer uma amostra de referência para interpredição na imagem corrente.
[00144] Na imagem corrente, um bloco de imagem próximo (por exemplo, à esquerda, superior, ou à direita do bloco corrente) do bloco corrente pode ter sido codificada/decodificado, e uma imagem recons- truída é obtida. O bloco de imagem próximo é referido como um bloco de imagem reconstruída. A informação como um modo de codificação e uma amostra reconstruída do bloco de imagem reconstruída está dispo- nível (available).
[00145] Uma imagem que foi codificada/decodificada antes da ima- gem corrente ser codificada/decodificado é referida como uma imagem reconstruída.
[00146] Um vetor de movimento (Motion Vector, MV) é um parâmetro importante em um processo de interpredição , e representa um deslo- camento espacial do bloco de imagem codificado com relação ao bloco corrente. De modo geral, um método de estimativa de movimento (Mo- tion Estimation, ME), como busca de movimento, pode ser usado para obter o vetor de movimento. Em uma tecnologia preliminar de interpre- dição , um lado do codificador transmite um vetor de movimento de um bloco corrente em um fluxo de bits, de modo que um lado do decodifi- cador reproduz uma amostra de previsão do bloco corrente, para obter um bloco reconstruído. Para melhorar ainda mais a eficiência da codifi- cação, é ainda proposto codificar diferencialmente um vetor de movi- mento usando um vetor de movimento de referência, isto é, codificar apenas uma diferença de vetor de movimento (Motion Vector Difference, MVD).
[00147] Para permitir que o lado do decodificador e o lado do codifi- cador usem um mesmo bloco de imagem de referência, o lado do codi- ficador precisa enviar informações de movimento de cada bloco de ima- gem para o lado do decodificador por meio de um fluxo de bits. Se o lado do codificador codificar diretamente um vetor de movimento de cada bloco de imagem, uma grande quantidade de recursos de trans- missão será consumida. Como os vetores de movimento de blocos de imagem espacialmente vizinhos são fortemente correlacionados, o vetor de movimento do bloco corrente pode ser previsto com base em um vetor de movimento de um bloco de imagem codificado vizinho. Um ve- tor de movimento obtido por meio de previsão é conhecido como MVP, e uma diferença entre o vetor de movimento do bloco corrente e o MVP é chamada de MVD.
[00148] No padrão de codificação de vídeo H.264, a previsão de ima- gem de múltiplas referências é usada em um processo de estimativa de movimento para melhorar a precisão da previsão. Para ser específico, um buffer que armazena uma pluralidade de imagens reconstruídas é criado e todas as imagens reconstruídas no buffer são pesquisadas em busca de um bloco de imagem de referência ideal para compensação de movimento, para melhor remover a redundância temporal. No padrão de codificação de vídeo H.264, dois buffers são usados na interpredi- ção : uma lista de imagens de referência 0 (lista de referências 0 / L0) e uma lista de imagens de referência 1 (lista de referências 1 / L1). Uma imagem de referência na qual um bloco de referência ideal em cada lista está localizado é marcada por um valor de índice, isto é, ref_idx_l0 ou ref_idx_l1. Em cada lista de imagens de referência, as informações de movimento de um bloco de imagens de referência incluem um valor de índice de imagens de referência (ref_idx_l0 ou ref_idx_l1), um indicador MVP (ou um MVP) e um MVD. O lado do decodificador pode encontrar um bloco de imagem de referência correto em uma imagem de referên- cia selecionada com base no valor de índice de imagem de referência, o indicador MVP e o MVD. Deve ser entendido que, em uma aplicação específica, o valor de índice de imagem de referência, o sinalizador MVP (ou o MVP) e / ou o MVD também podem ser referidos coletivamente como informações de movimento por um especialista na técnica. Por- tanto, um significado específico das informações de movimento precisa ser interpretado e explicado com referência a um cenário de aplicação específico e não deve constituir uma limitação na compreensão do con- ceito.
[00149] Corrente mente, os modos de interpredição frequentemente usados no padrão HEVC são um modo de previsão de vetor de movi- mento avançado (Advanced Motion Vector Prediction, AMVP), um modo de mesclagem (Merge) e um modo de previsão de modelo de movi- mento não translacional.
[00150] No modo AMVP, o lado do codificador constrói uma lista de vetor de movimento candidata usando informações de movimento de um bloco de imagem codificado que é espacial ou temporalmente adja- cente ao bloco corrente e determina um vetor de movimento ideal na lista de vetor de movimento candidata como o MVP do bloco corrente com base nos custos de distorção de taxa. Além disso, o lado do codifi- cador executa a pesquisa de movimento em uma vizinhança centrada no MVP para obter o vetor de movimento do bloco corrente. O lado do codificador transmite um valor de índice (ou seja, o identificador de MVP) do MVP na lista de vetores de movimento candidatos, o valor de índice de imagem de referência e a MVD para o lado do decodificador.
[00151] No modo de mesclagem, o lado do codificador constrói uma lista de informações de movimento candidata usando informações de movimento de um bloco de imagem codificado que é espacial ou tem- poralmente adjacente ao bloco corrente e determina as informações de movimento ideais na lista de informações de movimento candidatas como informações de movimento do bloco corrente com base nos cus- tos de distorção de taxa. O lado do codificador transmite um valor de índice de uma localização das informações de movimento ideais na lista de informações de movimento candidatas para o lado do decodificador.
[00152] No modo de previsão do modelo de movimento não transla- cional, o lado do codificador e o lado do decodificador derivam informa- ções de movimento de todos os sub-blocos do bloco corrente usando um mesmo modelo de movimento e realizam compensação de movi- mento com base nas informações de movimento de todos os sub-blocos para obter um bloco de imagens de previsão. Isso melhora a eficiência da previsão. Um modelo de movimento frequentemente usado pelo lado do codificador e pelo lado do decodificador é um modelo afim de 4 pa- râmetros, um modelo de transformação afim de 6 parâmetros ou um modelo bilinear de 8 parâmetros.
[00153] Por exemplo, o modelo de transformação afim de 4 parâme- tros pode ser representado usando vetores de movimento de duas amostras e coordenadas das duas amostras em relação a uma amostra no canto superior esquerdo do bloco corrente. Aqui, uma amostra usada para representar um parâmetro de modelo de movimento é referida como um ponto de controle. Se a amostra no canto superior esquerdo (0, 0) do bloco corrente e uma amostra no canto superior direito (𝑊, 0) do bloco corrente são ponto de controle, e os vetores de movimento do canto superior-esquerdo e o canto superior-direito do bloco corrente são respectivamente (vx0 , vy0 ) e (vx1 , vy1 ), a informação de movimento de cada sub-bloco do bloco corrente é obtida de acordo com a seguinte fórmula (1). Na seguinte fórmula (1), (𝑥, 𝑦) são coordenadas do sub- bloco relativo à amostra no canto superior-esquerdo do bloco corrente, (𝑣𝑥, 𝑣𝑦) é um vetor de movimento do= sub-bloco, e 𝑊 é a largura do bloco corrente. 𝑣𝑥1 −𝑣𝑥0 𝑣𝑦1 −𝑣𝑦0 𝑣𝑥 = 𝑥− 𝑦 + 𝑣𝑥0
𝑊 𝑊 { 𝑣𝑦1 −𝑣𝑦0 𝑣𝑥1 −𝑣𝑥0 (1) 𝑣𝑦 = 𝑥+ 𝑦 + 𝑣𝑦0
𝑊 𝑊
[00154] Por exemplo, o modelo de transformação afim de 6 parâme- tros pode ser representado usando vetores de movimento das três amostras e coordenadas das três amostras relativas a uma amostra no canto superior-esquerdo do bloco corrente. Se a amostra no canto su- perior-esquerdo (0, 0) do bloco corrente, uma amostra no canto supe- rior-direito (𝑊, 0) do bloco corrente, e uma amostra no canto inferior- esquerdo (0, 𝐻) do bloco corrente São pontos de controle, e vetores de movimento do canto superior-esquerdo, o canto superior-direito, e o canto inferior-esquerdo do bloco corrente são respectivamente (vx0 , vy0 ), (vx1 , vy1 ), e (vx2 , vy2 ), informação de movimento de cada sub- bloco do bloco corrente é obtida de acordo com a seguinte fórmula (2). Na seguinte fórmula (2), (𝑥, 𝑦) são coordenadas do sub-bloco relativo às amostra no canto superior-esquerdo do bloco corrente, (𝑣𝑥, 𝑣𝑦) é um vetor de movimento do sub-bloco, e 𝑊 e 𝐻 são respectivamente a lar- gura e a altura do bloco corrente. 𝑣𝑥1 −𝑣𝑥0 𝑣𝑥2 −𝑣𝑦0 𝑣𝑥 = 𝑥+ 𝑦 + 𝑣𝑥0
𝑊 𝐻 { 𝑣𝑦1 −𝑣𝑦0 𝑣𝑦2 −𝑣𝑥0 (2) 𝑣𝑦 = 𝑥+ 𝑦 + 𝑣𝑦0
𝑊 𝐻
[00155] Por exemplo, o modelo bilinear de 8 parâmetros pode ser representado usando vetores de movimento de quatro amostras e coor- denadas das quatro amostras relativas a uma amostra no canto supe- rior-esquerdo do bloco corrente. Se a amostra no canto superior-es- querdo (0, 0) do bloco corrente, uma amostra no canto superior-direito (𝑊, 0) do bloco corrente, uma amostra no canto inferior-esquerdo (0, 𝐻) do bloco corrente, e uma amostra no canto inferior-direito (𝑊, 𝐻) do bloco corrente são pontos de controle, e vetores de movimento do canto superior-esquerdo, o canto superior-direito, o canto inferior-esquerdo, e o canto inferior-direito do bloco corrente são respectivamente (vx0 , vy0 ), (vx1 , vy1 ), (vx2 , vy2 ), e (vx3 , vy3 ), informação de movimento de cada sub- bloco do bloco corrente é obtida de acordo com a seguinte fórmula (3). Na seguinte fórmula (3), (𝑥, 𝑦) são coordenadas do sub-bloco relativo às amostra no canto superior-esquerdo do bloco corrente, (𝑣𝑥, 𝑣𝑦) é um vetor de movimento do sub-bloco, e 𝑊 e 𝐻 são respectivamente a lar- gura e a altura do bloco corrente. 𝑣1𝑥 −𝑣0𝑥 𝑣2𝑥 −𝑣0𝑥 𝑣3𝑥 +𝑣0𝑥 −𝑣1𝑥 −𝑣2𝑥 𝑣𝑥 = 𝑥+ 𝑦+ 𝑥𝑦 + 𝑣0𝑥
𝑊 𝐻 𝑊𝐻 { 𝑣1𝑦 −𝑣0𝑦 𝑣2𝑦 −𝑣0𝑦 𝑣3𝑦 +𝑣0𝑦 −𝑣1𝑦 −𝑣2𝑦 (3) 𝑣𝑦 = 𝑥+ 𝑦+ 𝑥𝑦 + 𝑣0𝑦
𝑊 𝐻 𝑊𝐻
[00156] Pode ser facilmente aprendido que, em qualquer um dos mo- dos de interpredição supracitados, se a interpredição for interpredição bidirecional, o lado do codificador precisa enviar a informação de movi- mento de cada bloco de imagem em cada direção ao lado do decodifi- cador. Consequentemente, a informação de movimento ocupa uma quantidade relativamente grande de recursos de transmissão. Isso re- duz a utilização efetiva de recursos de transmissão, uma taxa de trans- missão, e a eficiência de compressão de codificação.
[00157] Para solucionar o problema supracitado, este pedido fornece um método de interpredição bidirecional. Na interpredição bidirecional, um lado do codificador envia a informação de movimento de um bloco corrente na primeira direção a um lado do decodificador, e após receber a informação de movimento do bloco corrente na primeira direção, o lado do decodificador calcula a informação de movimento do bloco cor- rente em uma segunda direção com base na informação de movimento do bloco corrente na primeira direção. Dessa forma, uma amostra de previsão do bloco corrente pode ser calculada com base na informação de movimento do bloco corrente na primeira direção e a informação de movimento do bloco corrente na segunda direção.
[00158] O método de interpredição bidirecional fornecido neste pe- dido pode ser realizada por um dispositivo de interpredição bidirecional, um dispositivo de codificação de vídeo, um codec de vídeo, ou outro dispositivo tendo uma função de codificação de vídeo.
[00159] O método de interpredição bidirecional fornecido neste pe- dido é aplicável a um sistema de codificação de vídeo. No sistema de codificação de vídeo, um codificador de vídeo e um decodificador de vídeo são configurados para calcular informação de movimento de um bloco corrente de acordo com exemplos do método de interpredição bi- direcional fornecido neste pedido. Especificamente, a informação de movimento do bloco corrente em uma segunda direção pode ser calcu- lada com base na informação de movimento do bloco corrente na pri- meira direção, de modo que uma amostra de previsão do bloco corrente seja determinada com base na informação de movimento do bloco cor- rente na primeira direção e na informação de movimento do bloco cor- rente na segunda direção. Dessa forma, apenas a informação de movi- mento do bloco corrente na primeira direção precisa ser transmitida en- tre o codificador de vídeo e o codificador de vídeo. Isso efetivamente melhora a utilização de recurso de transmissão e eficiência de compres- são de codificação.
[00160] A Figura 1 mostra uma estrutura de um sistema de codifica- ção de vídeo. Conforme mostrado na Figura 1, o sistema de codificação de vídeo 1 inclui um dispositivo de origem 10 e um dispositivo de destino
20. O dispositivo de origem 10 gera dados de vídeo codificado. O dis- positivo de origem 10 pode ainda ser referido como um dispositivo de codificação de vídeo ou um dispositivo de codificação de vídeo. O dis- positivo de destino 20 pode decodificar os dados de vídeo codificados gerados pelo dispositivo de origem 10. O dispositivo de destino 20 pode ainda ser referido como um dispositivo de decodificação de vídeo ou um dispositivo de codificação de vídeo. O dispositivo de origem 10 e/ou o dispositivo de destino 20 podem incluir pelo menos um processador e uma memória acoplada a pelo menos um processador. A memória pode incluir, mas não está limitada a uma memória somente leitura (Read- Only Memory, ROM), uma memória de acesso aleatório (Random Ac- cess Memory, RAM), uma memória somente leitura programável apa- gável eletricamente (Electrically Erasable Programmable Read-Only Memory, EEPROM), uma memória flash ou qualquer outro meio que possa ser configurado para armazenar o código do programa necessá- rio na forma de uma instrução ou uma estrutura de dados que pode ser acessada por um computador. Isso não é especificamente limitado neste pedido.
[00161] O dispositivo de origem 10 e o dispositivo de destino 20 po- dem incluir vários dispositivos, incluindo um computador desktop, um dispositivo de computação móvel, um computador notebook (por exem- plo, laptop), um computador tablet, um decodificador, um telefone por- tátil, como um telefone "inteligente", um dispositivo de televisão, uma câmera, um dispositivo de exibição, um reprodutor de mídia digital, um console de videogame, um computador no veículo e dispositivos seme- lhantes.
[00162] O dispositivo de destino 20 pode receber os dados de vídeo codificados do dispositivo de origem 10 por meio de um link 30. O link 30 pode incluir uma ou mais mídias e / ou dispositivos que podem trans- ferir os dados de vídeo codificados do dispositivo de origem 10 para o dispositivo de destino 20 . Em um exemplo, o link 30 pode incluir um ou mais meios de comunicação que permitem ao dispositivo de origem 10 transmitir diretamente os dados de vídeo codificados para o dispositivo de destino 20 em tempo real. Neste exemplo, o dispositivo de origem 10 pode modular os dados de vídeo codificados de acordo com um padrão de comunicação (por exemplo, um protocolo de comunicação sem fio) e pode transmitir os dados de vídeo modulados para o dispositivo de destino 20. Os um ou mais meios de comunicação podem incluir um meio de comunicação sem fio e / ou com fio, por exemplo, um espectro de radiofrequência (Radio Frequency, RF) ou uma ou mais linhas de transmissão físicas. Um ou mais meios de comunicação podem fazer parte de uma rede baseada em pacotes (como uma rede local, uma rede ampla ou uma rede global (por exemplo, a Internet)). Os um ou mais meios de comunicação podem incluir um roteador, um comutador, uma estação base ou outro dispositivo que implementa comunicação entre o dispositivo de origem 10 e o dispositivo de destino 20.
[00163] Em outro exemplo, os dados de vídeo codificados podem ser enviados para um dispositivo de armazenamento 40 por meio de uma interface de saída 103. Da mesma forma, os dados de vídeo codificados podem ser acessados a partir do dispositivo de armazenamento 40 por meio de uma interface de entrada 203. O dispositivo de armazenamento 40 pode incluir uma pluralidade de tipos de mídia de armazenamento de dados acessíveis localmente, como um disco Blu-ray, um disco de vídeo digital de alta densidade (Digital Video Disc, DVD), um disco compacto de memória somente leitura (Compact Disc Read-Only Memory, CD- ROM), uma memória flash ou outro meio de armazenamento digital ade- quado configurado para armazenar os dados de vídeo codificados.
[00164] Em outro exemplo, o dispositivo de armazenamento 40 pode corresponder a um servidor de arquivos ou outro dispositivo de armaze- namento intermediário que armazena os dados de vídeo codificados ge- rados pelo dispositivo de origem 10. Neste exemplo, o dispositivo de destino 20 pode obter os dados de vídeo armazenados do dispositivo de armazenamento 40 por transmissão de streaming ou download. O servidor de arquivos pode ser qualquer tipo de servidor que pode arma- zenar os dados de vídeo codificados e transmitir os dados de vídeo co- dificados para o dispositivo de destino 20. Por exemplo, o servidor de arquivos pode incluir um servidor de world wide web (World Wide Web, WWW) (para por exemplo, usado para um site da Web), um servidor de protocolo de transferência de arquivos (File Transfer Protocol, FTP), um dispositivo de armazenamento conectado à rede (Network Attached Sto- rage, NAS) ou uma unidade de disco local.
[00165] O dispositivo de destino 20 pode acessar os dados de vídeo codificados por meio de qualquer conexão de dados padrão (por exem- plo, uma conexão de internet). Um exemplo de tipo de conexão de da- dos inclui um canal sem fio ou uma conexão com fio (por exemplo, um modem a cabo) que pode ser usado para acessar os dados de vídeo codificados armazenados no servidor de arquivos, ou uma combinação dos mesmos. A transmissão dos dados de vídeo codificados do servidor de arquivos pode ser transmissão de streaming, transmissão de down- load ou uma combinação das mesmas.
[00166] O método de interpredição bidirecional neste pedido não se limita a um cenário de aplicação sem fio. Por exemplo, o método de interpredição bidirecional neste aplicativo pode ser usado na codifica- ção de vídeo para suportar uma pluralidade de aplicações de multimídia, tais como as seguintes aplicações: transmissão de televisão pelo ar, transmissão de televisão a cabo, transmissão de televisão por satélite, streaming de vídeo transmissão (por exemplo, através da internet), co- dificação de dados de vídeo armazenados em um meio de armazena- mento de dados, decodificação de dados de vídeo armazenados em um meio de armazenamento de dados ou outro aplicativo. Em alguns exem- plos, o sistema de codificação de vídeo 1 pode ser configurado para suportar transmissão de vídeo unidirecional ou bidirecional, para supor- tar aplicações como transmissão de streaming de vídeo, reprodução de vídeo, transmissão de vídeo e / ou videotelefonia.
[00167] Deve ser observado que o sistema de codificação de vídeo 1 mostrado na Figura 1 é meramente um exemplo do sistema de codifi- cação de vídeo, e não limita o sistema de codificação de vídeo neste pedido. O método de interpredição bidirecional fornecido neste pedido é ainda aplicável a um cenário em que não há comunicação de dados entre um dispositivo de codificação e um dispositivo de decodificação. Em outros exemplos, dados de vídeo a serem codificados ou os dados de vídeo codificados podem ser recuperados de uma memória local, po- dem ser transmitidos por streaming em uma rede, ou similar. O disposi- tivo de codificação de vídeo pode codificar os dados de vídeo a serem codificados e armazenar os dados de vídeo codificados na memória. O dispositivo de decodificação de vídeo pode obter os dados de vídeo co- dificados da memória e decodificar os dados de vídeo codificados.
[00168] Na Figura 1, o dispositivo de origem 10 inclui uma fonte de vídeo 101, um codificador de vídeo 102 e a interface de saída 103. Em alguns exemplos, a interface de saída 103 pode incluir um modulador /
demodulador (modem) e / ou um transmissor. A fonte de vídeo 101 pode incluir um dispositivo de captura de vídeo (por exemplo, uma câmera), um arquivo de vídeo incluindo dados de vídeo capturados anterior- mente, uma interface de entrada de vídeo para receber dados de vídeo de um provedor de conteúdo de vídeo e / ou um sistema gráfico de com- putador para gerar dados de vídeo ou uma combinação das fontes de dados de vídeo anteriores.
[00169] O codificador de vídeo 102 pode codificar dados de vídeo que são da fonte de vídeo 101. Em alguns exemplos, o dispositivo de origem 10 transmite diretamente os dados de vídeo codificados para o dispositivo de destino 20 através da interface de saída 103. Em outros exemplos, os dados de vídeo codificados podem alternativamente, ser armazenado no dispositivo de armazenamento 40, de modo que o dis- positivo de destino 20 acesse subsequentemente os dados de vídeo co- dificados para decodificação e / ou reprodução.
[00170] Em um exemplo na Figura 1, o dispositivo de destino 20 inclui um dispositivo de exibição 201, um decodificador de vídeo 202 e a in- terface de entrada 203. Em alguns exemplos, a interface de entrada 203 inclui um receptor e / ou um modem. A interface de entrada 203 pode receber os dados de vídeo codificados através do link 30 e / ou do dis- positivo de armazenamento 40. O dispositivo de exibição 201 pode ser integrado com o dispositivo de destino 20 ou pode ser disposto fora do dispositivo de destino 20. Normalmente, o dispositivo de exibição 201 exibe dados de vídeo decodificados. O dispositivo de exibição 201 pode incluir uma pluralidade de tipos de dispositivos de exibição, por exemplo, uma tela de cristal líquido, uma tela de plasma, uma tela de diodo emis- sor de luz orgânico ou um dispositivo de display de outro tipo.
[00171] Opcionalmente, o codificador de vídeo 102 e o decodificador de vídeo 202 podem ser respectivamente integrados com um codifica- dor de áudio e um decodificador de áudio e podem incluir uma unidade de multiplexação-demultiplexação apropriada ou outro hardware e sof- tware, para codificar áudio e vídeo em fluxo de dados combinados ou um fluxo de dados separado.
[00172] O codificador de vídeo 102 e o decodificador de vídeo 202 podem incluir pelo menos um microprocessador, um processador de si- nal digital (Digital Signal Processor, DSP), um circuito integrado especí- fico de aplicativo (Application-Specific Integrated Circuit, ASIC), uma matriz de portas programáveis em campo (Field Programmable Gate Array, FPGA), lógica discreta, hardware ou qualquer combinação dos mesmos. Se o método de interpredição bidirecional fornecido neste pe- dido for implementado usando software, uma instrução usada para o software pode ser armazenada em um meio de armazenamento legível por computador não volátil apropriado e pelo menos um processador pode ser usado para executar a instrução no hardware para implemen- tar este aplicativo. Qualquer um dos conteúdos anteriores (incluindo o hardware, o software, uma combinação do hardware e do software e semelhantes) pode ser considerado como o pelo menos um processa- dor. O codificador de vídeo 102 pode ser incluído em um codificador, o decodificador de vídeo 202 pode ser incluído em um decodificador e o codificador ou o decodificador pode ser uma parte de um codificador / decodificador (codec) combinado em um dispositivo correspondente.
[00173] O codificador de vídeo 102 e o decodificador de vídeo 202 neste pedido podem executar operações de acordo com um padrão de compressão de vídeo (por exemplo, HEVC ou VVC), ou podem executar operações de acordo com outro padrão da indústria. Isso não é especi- ficamente limitado neste pedido.
[00174] O codificador de vídeo 102 é configurado para: realizar esti- mativa de movimento bidirecional em um bloco corrente, determinar in- formação de movimento do bloco corrente na primeira direção, e calcu-
lar a informação de movimento do bloco corrente em uma segunda di- reção com base na informação de movimento do bloco corrente na pri- meira direção. Dessa forma, o codificador de vídeo 102 determina um bloco de imagem de previsão do bloco corrente com base na informação de movimento do bloco corrente na primeira direção e na informação de movimento do bloco corrente na segunda direção. Ainda, o codificador de vídeo 102 realiza as operações como transformada e quantização em um residual entre o bloco corrente e o bloco de imagem de previsão do bloco corrente para gerar um fluxo de bits, e envia o fluxo de bits ao decodificador de vídeo 202. O fluxo de bits inclui a informação de movi- mento do bloco corrente na primeira direção e a informação de indica- ção que é usada para indicar a determinação da segunda informação de movimento com base na primeira informação de movimento. A infor- mação de indicação pode ser representada usando diferentes identifi- cadores. Para um método para representar a informação de indicação, consulte as descrições nos exemplos subsequentes.
[00175] Opcionalmente, um método em que "o codificador de vídeo 102 calcula a informação de movimento do bloco corrente na segunda direção com base na informação de movimento do bloco corrente na primeira direção" pode ser como segue: o codificador de vídeo 102 de- termina um vetor de movimento do bloco corrente na segunda direção com base em um vetor de movimento do bloco corrente na primeira di- reção; ou o codificador de vídeo 102 determina uma diferença do vetor de movimento do bloco corrente na segunda direção com base em uma diferença do vetor de movimento do bloco corrente na primeira direção, e determina um vetor de movimento do bloco corrente na segunda dire- ção com base na diferença do vetor de movimento do bloco corrente na segunda direção e um vetor de movimento previsto do bloco corrente na segunda direção.
[00176] Com referência à Figura 4 abaixo, o decodificador de vídeo
202 pode ser configurado para realizar as seguintes etapas:
[00177] S400: Obter um fluxo de bits, e analisar o fluxo de bits, para obter informação de indicação usada para indicar determinar a segunda informação de movimento com base na primeira informação de movi- mento, ou seja, determinar derivar e calcular a informação de movi- mento em uma direção com base na informação de movimento em outra direção, onde a primeira informação de movimento inclui a informação de movimento de um bloco corrente na primeira direção, a segunda in- formação de movimento inclui a informação de movimento do bloco cor- rente em uma segunda direção, e a primeira direção é diferente da se- gunda direção.
[00178] S401: Obter a primeira informação de movimento.
[00179] S402: Determinar a segunda informação de movimento com base na primeira informação de movimento obtida.
[00180] S403: O decodificador de vídeo 202 determina uma amostra de previsão do bloco corrente com base na primeira informação de mo- vimento e na segunda informação de movimento.
[00181] Um método em que "o decodificador de vídeo 202 calcula a informação de movimento do bloco corrente na segunda direção com base na informação de movimento do bloco corrente na primeira dire- ção" pode ser como segue: o decodificador de vídeo 202 determina um vetor de movimento do bloco corrente na segunda direção com base em um vetor de movimento do bloco corrente na primeira direção; ou o de- codificador de vídeo 202 determina uma diferença do vetor de movi- mento do bloco corrente na segunda direção com base em uma dife- rença do vetor de movimento do bloco corrente na primeira direção, e determina um vetor de movimento do bloco corrente na segunda direção com base na diferença do vetor de movimento do bloco corrente na se- gunda direção e um vetor de movimento previsto do bloco corrente na segunda direção.
[00182] A Figura 2 é um diagrama estrutural esquemático do codifi- cador de vídeo 102 de acordo com uma modalidade deste pedido. Con- forme mostrado na Figura 2, o codificador de vídeo 102 é configurado para emitir um vídeo a uma entidade de pós-processamento 41. A enti- dade de pós-processamento 41 representa um exemplo de uma enti- dade de vídeo capaz de processar dados de vídeo codificados que são do codificador de vídeo 102, por exemplo, um elemento de rede ciente de mídia (MANE) ou um dispositivo de costura / um dispositivo de edi- ção. Em alguns casos, a entidade de pós-processamento 41 pode ser um exemplo de uma entidade de rede. Em alguns sistemas de codifica- ção de vídeo, a entidade de pós-processamento 41 e o codificador de vídeo 102 podem ser componentes de dispositivos separados, en- quanto em outros casos, as funções descritas em relação à entidade de pós-processamento 41 podem ser implementadas por um mesmo dis- positivo, incluindo o vídeo codificador 102. Em um exemplo, a entidade de pós-processamento 41 é um exemplo do dispositivo de armazena- mento 40 na Figura 1.
[00183] O codificador de vídeo 102 pode derivar e calcular a informa- ção de movimento do bloco corrente na segunda direção com base na informação de movimento do bloco corrente na primeira direção, e ainda determinar o bloco de imagem de previsão do bloco corrente com base na informação de movimento do bloco corrente na primeira direção e a informação de movimento do bloco corrente na segunda direção, para concluir a codificação de interpredição bidirecional.
[00184] Como mostrado na Figura 2, o codificador de vídeo 102 inclui um transformador 301, um quantizador 302, um codificador de entropia 303, um filtro 306, uma memória 307, uma unidade de processamento de previsão 308 e um somador 312. A unidade de processamento de previsão 308 inclui um intrapreditor 309 e interpreditor 310. Para recons- truir um bloco de imagem, o codificador de vídeo 102 inclui ainda um quantizador inverso 304, um transformador inverso 305 e um somador
311. O filtro 306 é especificado para representar um ou mais filtros de loop, para exemplo, um filtro de desbloqueio, um filtro de loop adaptativo e um filtro de deslocamento adaptativo de amostra.
[00185] A memória 307 pode armazenar dados de vídeo codificados por um componente do codificador de vídeo 102. Os dados de vídeo armazenados na memória 307 podem ser obtidos a partir da fonte de vídeo 101. A memória 307 pode ser uma memória de imagem de refe- rência que armazena dados de vídeo de referência usados por o codifi- cador de vídeo 102 para codificar os dados de vídeo em um modo de intra ou inter codificação. A memória 307 pode ser uma memória dinâ- mica de acesso aleatório (dynamic RAM, DRAM) incluindo uma DRAM síncrona (synchronous DRAM, SDRAM), uma RAM magnetorresistiva (magnetoresistive RAM, MRAM), uma RAM resistiva (resistive RAM, RRAM) ou uma memória dispositivos de outro tipo.
[00186] O codificador de vídeo 102 recebe dados de vídeo e arma- zena os dados de vídeo em uma memória de dados de vídeo. Uma uni- dade de divisão divide os dados de vídeo em vários blocos de imagem, e esses blocos de imagem podem ser posteriormente particionados em blocos menores. Por exemplo, é executada a divisão de bloco de ima- gem com base em uma estrutura quadtree ou uma estrutura de árvore binária. A divisão pode incluir ainda a divisão em fatias (slice), ladrilhos (tile) ou outras unidades maiores. O codificador de vídeo 102 é geral- mente um componente para codificar um bloco de imagem em uma fatia de vídeo a ser codificada. A fatia pode ser particionada em uma plurali- dade de blocos de imagem (e pode ser particionada em conjuntos de blocos de imagem que são referidos como ladrilhos).
[00187] O intrapreditor 309 na unidade de processamento de previ- são 308 pode realizar codificação intraprevisiva em um bloco corrente em relação a um ou mais blocos de imagem vizinhos que estão em uma mesma imagem ou fatia que o bloco corrente, para remover redundân- cia espacial. O interpreditador 310 na unidade de processamento de previsão 308 pode realizar codificação interprevisiva no bloco corrente em relação a um ou mais blocos de imagem de previsão em uma ou mais imagens de referência, para remover redundância temporal.
[00188] A unidade de processamento de previsão 308 pode fornecer blocos de imagem intracodificados e intercodificados obtidos para o so- mador 312 para gerar um bloco residual e fornecer o bloco residual para o somador 311 para reconstruir um bloco de codificação usado como uma imagem de referência.
[00189] Após a unidade de processamento de previsão 308 gerar um bloco de previsão de imagem do bloco corrente através de interpredição e intraprevisão, o codificador de vídeo 102 gera o bloco de imagem re- sidual subtraindo o bloco de imagem de previsão do bloco corrente a ser codificado. O somador 312 representa um ou mais componentes que realizam esta operação de subtração. Os dados de vídeo residuais no bloco residual podem ser incluídos em uma ou mais unidades de transformação (transform unit, TU) e usados pelo transformador 301. O transformador 301 transforma os dados de vídeo residuais em um coe- ficiente de transformação residual por meio de transformada, como transformada discreta de cosseno (discrete cosine transform, DCT) ou transformada conceitualmente semelhante. O transformador 301 pode transformar os dados de vídeo residuais de um domínio de valor de amostra para um domínio de transformação, por exemplo, um domínio de frequência.
[00190] O transformador 301 pode enviar o coeficiente de transfor- mação obtido para o quantizador 302. O quantizador 302 quantifica o coeficiente de transformação para reduzir ainda mais uma taxa de bits. Em alguns exemplos, o quantizador 302 pode varrer ainda mais uma matriz incluindo um coeficiente de transformada quantizado. Alternativa- mente, o codificador de entropia 303 pode realizar varredura.
[00191] Após a quantização, o codificador de entropia 303 realiza a codificação de entropia no coeficiente de transformada quantizado. Por exemplo, o codificador de entropia 303 pode realizar codificação de comprimento variável adaptável ao contexto (context-adaptive variable- length coding, CAVLC), codificação aritmética binária adaptável ao con- texto (context-adaptive binary arithmetic coding, CABAC) ou outro mé- todo de codificação de entropia ou tecnologia. Após o codificador de en- tropia 303 realizar a codificação de entropia, um fluxo de bits codificado pode ser enviado para o decodificador de vídeo 202 ou arquivado para envio subsequente ou recuperação subsequente pelo decodificador de vídeo 202. O codificador de entropia 303 pode ainda executar codifica- ção de entropia em um elemento de sintaxe do bloco corrente a ser co- dificado.
[00192] O quantizador inverso 304 e o transformador inverso 305, respectivamente, realizam quantização inversa e transformação in- versa, para reconstruir o bloco residual em um domínio de amostra, por exemplo, para ser subsequentemente usado como um bloco de referên- cia da imagem de referência. O somador 311 adiciona um bloco residual reconstruído ao bloco de imagem de previsão gerado pelo interpreditor 310 ou o intrapreditor 309, para gerar um bloco de imagem reconstruído. Um bloco de imagem de previsão de um bloco de imagem pode ser obtido executando processamento (tal como interpolação) em um bloco de imagem de referência do bloco de imagem.
[00193] Deve ser entendido que outras variantes estruturais do codi- ficador de vídeo 102 podem ser usadas para codificar um fluxo de vídeo. Por exemplo, para alguns blocos de imagem ou imagens, o codificador de vídeo 102 pode quantizar diretamente um sinal residual e, corres-
pondentemente, o processamento pelo transformador 301 e o transfor- mador inverso 305 não é necessário. Alternativamente, para alguns blo- cos de imagem ou imagens, o codificador de vídeo 102 não gera dados residuais e, correspondentemente, o processamento pelo transformador 301, o quantizador 302, o quantizador inverso 304 e o transformador inverso 305 não é necessário. Alternativamente, o codificador de vídeo 102 pode armazenar diretamente o bloco de imagem reconstruído como o bloco de referência sem processamento pelo filtro 306. Alternativa- mente, o quantizador 302 e o quantizador inverso 304 no codificador de vídeo 102 podem ser combinados.
[00194] A Figura 3 é um diagrama estrutural esquemático do decodi- ficador de vídeo 202 de acordo com uma modalidade deste pedido. Como mostrado na Figura 3, o decodificador de vídeo 202 inclui um de- codificador de entropia 401, um quantizador inverso 402, um transfor- mador inverso 403, um filtro 404, uma memória 405, uma unidade de processamento de previsão 406 e um somador 409. A unidade de pro- cessamento de previsão 406 inclui um intrapreditor 407 e um interpredi- tor 408. Em alguns exemplos, o decodificador de vídeo 202 pode reali- zar um processo de decodificação que é aproximadamente inverso ao processo de codificação descrito em relação ao codificador de vídeo 102 na Figura 2.
[00195] No processo de decodificação, o decodificador de vídeo 202 recebe um fluxo de bits do codificador de vídeo 102. O decodificador de vídeo 202 pode receber dados de vídeo de uma entidade de rede 42 e, opcionalmente, pode ainda armazenar os dados de vídeo em uma me- mória de dados de vídeo (não mostrada na figura). A memória de dados de vídeo pode armazenar dados de vídeo que devem ser decodificados por um componente do decodificador de vídeo 202, por exemplo, o fluxo de bits codificado. Os dados de vídeo armazenados na memória de da- dos de vídeo podem ser obtidos, por exemplo, de uma fonte de vídeo local, como o dispositivo de armazenamento 40 ou uma câmera por meio de comunicação de rede com fio ou sem fio dos dados de vídeo, ou acessando um meio de armazenamento de dados físicos. Embora a memória de dados de vídeo não seja mostrada na Figura 3, a memória de dados de vídeo e a memória 405 podem ser a mesma memória ou podem ser memórias dispostas separadamente. A memória de dados de vídeo e a memória 405 podem incluir, cada uma, qualquer um de uma pluralidade de tipos de dispositivos de memória, por exemplo, uma memória de acesso aleatório dinâmica (DRAM) incluindo uma DRAM síncrona (SDRAM), uma RAM magnetorresistiva (MRAM), uma memó- ria resistiva RAM (RRAM), ou outro tipo de dispositivo de memória. Em vários exemplos, a memória de dados de vídeo pode ser integrada em um chip juntamente com outros componentes do decodificador de vídeo 202 ou pode ser disposta fora do chip em relação a esses componentes.
[00196] A entidade de rede 42 pode ser, por exemplo, um servidor, um MANE, um editor/clipper de vídeo ou outro dispositivo configurado para implementar uma ou mais das tecnologias descritas acima. A enti- dade de rede 42 pode ou não incluir um codificador de vídeo, por exem- plo, o codificador de vídeo 102. Antes que a entidade de rede 42 envie o fluxo de bits para o decodificador de vídeo 202, a entidade de rede 42 pode implementar uma parte das tecnologias descritas neste pedido . Em alguns sistemas de decodificação de vídeo, a entidade de rede 42 e o decodificador de vídeo 202 podem ser componentes de dispositivos separados. Em outros casos, as funções descritas em relação à enti- dade de rede 42 podem ser implementadas por um mesmo dispositivo, incluindo o decodificador de vídeo 202. Em alguns casos, a entidade de rede 42 pode ser um exemplo do dispositivo de armazenamento 40 na Figura 1.
[00197] O decodificador de entropia 401 do decodificador de vídeo 202 realiza a decodificação de entropia no fluxo de bits para gerar um coeficiente quantizado e alguns elementos de sintaxe. O decodificador de entropia 401 encaminha os elementos de sintaxe para o filtro 404. O decodificador de vídeo 202 pode receber elementos de sintaxe / um ele- mento de sintaxe em um nível de fatia de vídeo e / ou um nível de bloco de imagem. Neste pedido, em um exemplo, o elemento de sintaxe neste documento pode incluir as informações de indicação relacionadas ao bloco corrente e as informações de indicação são usadas para indicar a determinação das segundas informações de movimento com base nas primeiras informações de movimento. Além disso, em alguns exemplos, o codificador de vídeo 102 pode enviar um sinal para notificar um ele- mento de sintaxe específico indicando se deve determinar a segunda informação de movimento com base na primeira informação de movi- mento.
[00198] O quantizador inverso 402 realiza quantização inversa, isto é, desquantiza, um coeficiente de transformação quantizado fornecido no fluxo de bits e decodificado pelo decodificador de entropia 401. Um processo de quantização inversa pode incluir: determinar um grau de quantização a ser aplicado usando uma quantização parâmetro calcu- lado pelo codificador de vídeo 102 para cada bloco de imagem em uma fatia de vídeo e, de forma semelhante, determinar um grau de quantiza- ção inversa a ser aplicado. O transformador inverso 403 aplica a trans- formação inversa, por exemplo, DCT inverso, transformação de inteiro inverso ou um processo de transformação inversa conceitualmente se- melhante, ao coeficiente de transformação, para gerar um bloco residual em um domínio de amostra.
[00199] Após a unidade de processamento de previsão 406 gerar um bloco de imagem de previsão para o bloco corrente ou um sub-bloco do bloco corrente, o decodificador de vídeo 202 soma o bloco residual do transformador inverso 403 e o bloco de imagem de previsão correspon-
dente gerado pela unidade de processamento de previsão 406, para ob- ter um bloco reconstruído, ou seja, um bloco de imagem decodificado. O somador 409 (que também é conhecido como um reconstrutor 409) representa um componente que executa esta operação de soma. Quando necessário, um filtro (em ou após um loop de decodificação) pode ser usado para suavizar as amostras ou a qualidade do vídeo pode ser melhorada de outra maneira. O filtro 404 pode ser um ou mais filtros de loop, por exemplo, um filtro de desbloqueio, um filtro de loop adapta- tivo (ALF) e um filtro de deslocamento adaptativo de amostra (SAO).
[00200] Deve ser entendido que outras variantes estruturais do de- codificador de vídeo 202 podem ser usadas para decodificar o fluxo de bits. Por exemplo, para alguns blocos de imagem ou imagens, o deco- dificador de entropia 401 do decodificador de vídeo 202 não obtém o coeficiente quantizado por meio da decodificação e, correspondente- mente, o processamento pelo quantizador inverso 402 e o transforma- dor inverso 403 não é necessário. Por exemplo, o quantizador inverso 402 e o transformador inverso 403 no decodificador de vídeo 202 podem ser combinados.
[00201] Com referência ao sistema de codificação de vídeo 1 mos- trado na Figura 1, o codificador de vídeo 102 mostrado na Figura 2, e o decodificador de vídeo 202 mostrado na Figura 3, o seguinte descreve em detalhes o método de interpredição bidirecional fornecido neste pe- dido.
[00202] A Figura 4 é um fluxograma esquemático de um método de interpredição bidirecional de acordo com uma modalidade deste pedido. O método mostrado na Figura 4 é realizado por um dispositivo de inter- predição bidirecional. O dispositivo de interpredição bidirecional pode ser o decodificador de vídeo 202 na Figura 1. A Figura 4 é descrita usando um exemplo em que o dispositivo de interpredição bidirecional é o decodificador de vídeo 202.
[00203] Conforme mostrado na Figura 4, o método de interpredição bidirecional nesta modalidade deste pedido pode incluir as seguintes etapas.
[00204] S400: O (decodificador de vídeo 202) analisa um fluxo de bits obtida, e obtém a informação de indicação.
[00205] Opcionalmente, o decodificador de vídeo 202 pode analisar o fluxo de bits, e determinar, com base em um valor de um elemento de sintaxe no fluxo de bits, um modo de interpredição usado para realizar interpredição em um bloco corrente em uma imagem corrente. Quando o modo de interpredição é um modo de interpredição bidirecional, o decodificador de vídeo 202 obtém a informação de indicação.
[00206] O decodificador de vídeo 202 pode receber o fluxo de bits codificado enviado pelo codificador de vídeo 102, ou pode obter o fluxo de bits codificado do dispositivo de armazenamento 40.
[00207] Opcionalmente, o decodificador de vídeo 202 nesta modali- dade deste pedido determina, com base em um valor de um elemento de sintaxe inter_pred_idc, o modo de interpredição usado para realizar a interpredição no bloco corrente na imagem corrente. Pode ser apren- dido da descrição supracitada que a interpredição inclui interpredição unidirecional e interpredição bidirecional. Opcionalmente, quando o va- lor do elemento de sintaxe inter_pred_idc é 0, o decodificador de vídeo 202 pode determinar que o modo de interpredição usado para realizar interpredição no bloco corrente na imagem corrente é a interpredição de avanço. Quando o valor do elemento de sintaxe inter_pred_idc é 1, o decodificador de vídeo 202 pode determinar que o modo de interpre- dição usado para realizar a interpredição no bloco corrente na imagem corrente é interpredição de retorno. Quando o valor do elemento de sintaxe inter_pred_idc é 2, o decodificador de vídeo 202 pode determi- nar que o modo de interpredição usado para realizar a interpredição no bloco corrente na imagem corrente é interpredição bidirecional.
[00208] Opcionalmente, após determinar que o valor do elemento de sintaxe inter_pred_idc é 2, o decodificador de vídeo 202 obtém a infor- mação de indicação usada para indicar determinar a segunda informa- ção de movimento com base na primeira informação de movimento. A primeira informação de movimento é a informação de movimento do bloco corrente na primeira direção, a segunda informação de movimento é a informação de movimento do bloco corrente em uma segunda dire- ção, e a primeira direção é diferente da segunda direção.
[00209] Um bloco de imagem neste pedido pode ser uma unidade básica para realizar a codificação ou decodificação de vídeo, por exem- plo, uma unidade de codificação (Coding Unit, CU), ou pode ser uma unidade básica para realizar uma operação de previsão, por exemplo, uma unidade de previsão (Prediction Unit, PU). Isso não é especifica- mente limitado nesta modalidade deste pedido.
[00210] Opcionalmente, o bloco corrente nesta modalidade deste pe- dido pode ainda incluir pelo menos um sub-bloco. Correspondente- mente, a primeira informação de movimento pode incluir a informação de movimento de, pelo menos, cada sub-bloco do bloco corrente na pri- meira direção, a segunda informação de movimento pode incluir a infor- mação de movimento de, pelo menos, cada sub-bloco do bloco corrente na segunda direção, e a informação de indicação pode ser usada para indicar determinar a informação de movimento de um sub-bloco na se- gunda direção com base na informação de movimento do sub-bloco na primeira direção. Opcionalmente, o bloco corrente pode alternativa- mente ser um sub-bloco que não pode ser dividido.
[00211] O decodificador de vídeo 202 pode obter a informação de indicação em uma pluralidade de maneiras, incluindo, mas não limitado às seguintes implementações.
[00212] Em uma primeira implementação, o decodificador de vídeo
202 analisa um primeiro identificador.
Quando um valor do primeiro iden- tificador é um primeiro valor predefinido, o decodificador de vídeo 202 determina analisar a primeira informação de movimento, e determina a segunda informação de movimento com base na primeira informação de movimento.
Quando um valor do primeiro identificador é um oitavo valor predefinido, o decodificador de vídeo 202 analisa o fluxo de bits para obter um quinto identificador.
Quando um valor do quinto identifi- cador é a quinto valor predefinido, o decodificador de vídeo 202 deter- mina analisar a segunda informação de movimento, e calcula a primeira informação de movimento com base na segunda informação de movi- mento.
Quando um valor do quinto identificador é um nono valor prede- finido, o decodificador de vídeo 202 obtém a primeira informação de mo- vimento e a segunda informação de movimento.
Por exemplo, quando o primeiro valor predefinido, o oitavo valor predefinido, o nono valor pre- definido, e o quinto valor predefinido representam verdadeiro, o primeiro valor predefinido, o oitavo valor predefinido, o nono valor predefinido, e o quinto valor predefinido podem ser, cada um, 1. De modo alternativo, quando o primeiro valor predefinido, o oitavo valor predefinido, o nono valor predefinido, e o quinto valor predefinido representam verdadeiro, o primeiro valor predefinido, o oitavo valor predefinido, o nono valor pre- definido, e o quinto valor predefinido podem ser, cada um, 0. Isto não é limitado neste pedido.
Por exemplo, o primeiro valor predefinido, o oi- tavo valor predefinido, o nono valor predefinido, e o quinto valor prede- finido podem ser os mesmos, ou podem ser diferentes, e por exemplo, podem ser, cada um, 0 e 1. Isso não é especificamente limitado nesta modalidade deste pedido.
Especificamente, o primeiro identificador é primeiro obtido.
Quando o primeiro identificador é o primeiro valor pre- definido, ele indica que a segunda informação de movimento pode ser determinada com base na primeira informação de movimento.
Se o pri-
meiro identificador for o oitavo valor predefinido, ele indica que a se- gunda informação de movimento não pode ser determinada com base na primeira informação de movimento. Neste caso, o quinto identificador precisa ser obtido. Quando o quinto identificador for o quinto valor pre- definido, ele indica que a primeira informação de movimento pode ser determinada com base na segunda informação de movimento. Se o quinto identificador for o nono valor predefinido, ele indica que a primeira informação de movimento e a segunda informação de movimento po- dem ser obtidas através da análise. Neste caso, a primeira informação de movimento e a segunda informação de movimento não podem ser derivadas entre si.
[00213] Por exemplo, o primeiro identificador pode ser mv_deri- ved_flag_l0, o quinto identificador pode ser mv_derived_flag_l1, ambos o primeiro valor predefinido e o quinto valor predefinido podem ser 1, e ambos o oitavo valor predefinido e o nono valor predefinido podem ser
0. O decodificador de vídeo 202 primeiro analisa mv_derived_flag_l0. Quando um valor de mv_derived_flag_l0 é 1, o decodificador de vídeo 202 analisa a primeira informação de movimento, e determina a se- gunda informação de movimento com base na primeira informação de movimento. Quando um valor de mv_derived_flag_l0 é 0, o decodifica- dor de vídeo 202 analisa mv_derived_flag_l1. Quando um valor de mv_derived_flag_l1 é 1, o decodificador de vídeo 202 analisa a segunda informação de movimento, e calcula a primeira informação de movi- mento com base na segunda informação de movimento. Quando ambas um valor de mv_derived_flag_l0 e um valor de mv_derived_flag_l1 são 0, o decodificador de vídeo 202 analisa a primeira informação de movi- mento e a segunda informação de movimento.
[00214] Deve ser entendido que os identificadores e os valores nesta modalidade da presente invenção são meramente exemplos, e a diver- sidade dos identificadores e dos valores não é completa ou limitada na presente invenção.
[00215] Em uma segunda implementação, o decodificador de vídeo 202 analisa um segundo identificador. Quando um valor do segundo identificador é um segundo valor predefinido, o decodificador de vídeo 202 determina calcular a informação de movimento do bloco corrente usando um algoritmo de derivação de informação de movimento. Então, o decodificador de vídeo 202 analisa um terceiro identificador. Quando um valor do terceiro identificador é um terceiro valor predefinido, o de- codificador de vídeo 202 determina analisar a primeira informação de movimento, e determina a segunda informação de movimento com base na primeira informação de movimento. Em outras palavras, o decodifi- cador de vídeo 202 obtém a informação de indicação. Quando um valor do terceiro identificador é um sexto valor predefinido, o decodificador de vídeo 202 determina analisar a segunda informação de movimento, e calcula a primeira informação de movimento com base na segunda in- formação de movimento.
[00216] Especificamente, o segundo identificador é primeiro obtido. Quando o segundo identificador for o segundo valor predefinido, ele in- dica que uma peça de informação de movimento pode ser derivada com base em outra peça de informação de movimento. Ainda, o terceiro iden- tificador é obtido. Quando o valor do terceiro identificador é o terceiro valor predefinido, ele indica que a segunda informação de movimento pode ser determinada com base na primeira informação de movimento. Quando o valor do terceiro identificador é o sexto valor predefinido, ele indica que a primeira informação de movimento pode ser determinada com base na segunda informação de movimento.
[00217] Por exemplo, o segundo identificador é derived_mv_flag, o terceiro identificador é derived_mv_direction, o terceiro valor predefinido é 1, e o sexto valor predefinido é 0. O decodificador de vídeo 202 pri- meiro analisa derived_mv_flag. Quando um valor de derived_mv_flag é
1, o decodificador de vídeo 202 determina calcular a informação de mo- vimento do bloco corrente usando o algoritmo de derivação de informa- ção de movimento. Quando um valor de derived_mv_flag é 0, o decodi- ficador de vídeo 202 analisa a primeira informação de movimento e a segunda informação de movimento. Quando um valor de deri- ved_mv_direction é 1, o decodificador de vídeo 202 analisa a primeira informação de movimento, e determina a segunda informação de movi- mento com base na primeira informação de movimento. Quando um va- lor de derived_mv_direction é 0, o decodificador de vídeo 202 determina analisar a segunda informação de movimento, e calcula a primeira in- formação de movimento com base na segunda informação de movi- mento.
[00218] Em uma terceira implementação, o decodificador de vídeo 202 analisa um segundo identificador. Quando um valor do segundo identificador é um segundo valor predefinido, o decodificador de vídeo 202 determina calcular a informação de movimento do bloco corrente usando um algoritmo de derivação de informação de movimento. Então, o decodificador de vídeo 202 determina, com base em uma direção de derivação predefinida, analisar a primeira informação de movimento, e determina a segunda informação de movimento com base na primeira informação de movimento. Em outras palavras, o decodificador de vídeo 202 obtém a informação de indicação. Em outras palavras, nesta imple- mentação, "determinar a segunda informação de movimento com base na primeira informação de movimento" é predefinido. Quando um valor do segundo identificador é um sétimo valor predefinido, a primeira infor- mação de movimento e a segunda informação de movimento são anali- sado. Em outras palavras, neste caso, a primeira informação de movi- mento e a segunda informação de movimento não podem ser obtidas através da derivação.
[00219] Por exemplo, o segundo identificador é derived_mv_flag, o segundo valor predefinido é 1, e o sétimo valor predefinido é 0. O deco- dificador de vídeo 202 analisa derived_mv_flag. Quando um valor de derived_mv_flag é 1, o decodificador de vídeo 202 determina calcular a informação de movimento do bloco corrente usando o algoritmo de de- rivação de informação de movimento. Ainda, o decodificador de vídeo 202 determina analisar a primeira informação de movimento, e deter- mina a segunda informação de movimento com base na primeira infor- mação de movimento. Quando um valor de derived_mv_flag é 0, o de- codificador de vídeo 202 analisa a primeira informação de movimento e a segunda informação de movimento.
[00220] Em uma quarta implementação, o decodificador de vídeo 202 analisa um quarto identificador (por exemplo, mv_derived_flag_l0). Quando um valor do quarto identificador é um quarto valor predefinido, o decodificador de vídeo 202 determina calcular a informação de movi- mento do bloco corrente usando um algoritmo de derivação de informa- ção de movimento, e calcula uma variável derived_ref_num com base em uma primeira lista de imagens de referência e uma segunda lista de imagens de referência. A variável representa uma quantidade de pares de imagem de referência espelhada/linear que pode ser formada com base em uma primeira imagem de referência e uma segunda imagem de referência. Quando a quantidade de pares de imagem de referência for 1, o decodificador de vídeo 202 determina diretamente os valores do índice de imagem de referência. Então, o decodificador de vídeo 202 determina, com base em uma direção de derivação predefinida, analisar a primeira informação de movimento, e determina a segunda informa- ção de movimento com base na primeira informação de movimento. A primeira lista de imagens de referência é uma lista de imagens de refe- rência do bloco corrente na primeira direção, a segunda lista de imagens de referência é uma lista de imagens de referência do bloco corrente na segunda direção, a primeira imagem de referência é uma imagem de referência do bloco corrente na primeira direção, e a segunda imagem de referência é uma imagem de referência do bloco corrente na segunda direção. Um índice de imagem de referência valor nesta modalidade deste pedido pode consulte um número da imagem de referência em uma lista de imagens de referência correspondente.
[00221] Por exemplo, uma contagens de ordem de imagem (POC, picture order count) da imagem corrente é 4, a primeira lista de imagens de referência é {2, 0}, e a segunda lista de imagens de referência é {6, 7}. Supõe-se que é determinado (por exemplo, de acordo com a se- guinte condição B ou condição C) que uma imagem de referência (que pode ser entendida como a primeira imagem de referência) cuja conta- gens de ordem de imagem é 2 na primeira lista de imagens de referência e uma imagem de referência (que pode ser entendida como a segunda imagem de referência) cuja contagens de ordem de imagem é 6 na se- gunda lista de imagens de referência pode formar um par de imagem de referência. Portanto, pode ser aprendido que um valor de índice da pri- meira imagem de referência na primeira lista de imagens de referência e um valor de índice da segunda imagem de referência na segunda lista de imagens de referência são 0. Para ser específico, quando há apenas um par de imagem de referência, o par de imagem de referência pode ser diretamente usado como imagens de referência alvo, e os índices de localizações correspondentes às imagens de referência alvo nas lis- tas de imagens de referência são índices de imagens de referência. Neste caso, o valor de índices das imagens de referência não precisa ser obtido através da análise.
[00222] Em uma possível implementação específica, elementos em uma lista de imagens de referência podem ser algumas marcas, inclu- indo, mas não limitado a, contagens de ordem de imagem POC de ima- gens de referência. Uma contagem de ordem de imagem pode corres- ponder a uma imagem de referência específica e/ou um índice de uma localização da imagem de referência na lista de imagens de referência, ou seja, um índice de imagem de referência.
[00223] Em uma possível implementação específica, elementos em uma lista de imagens de referência podem ser imagens (imagens de referência). Uma imagem pode corresponder a uma POC específica e um índice de uma localização da imagem na lista de imagens de refe- rência, ou seja, um índice de imagem de referência.
[00224] Supõe-se que uma contagens de ordem de imagem da ima- gem corrente é 4, a primeira lista de imagens de referência é {2, 0}, a segunda lista de imagens de referência é {6, 7}, e é determinado (de acordo com a seguinte condição B ou condição C) que uma imagem de referência (que pode ser entendida como a primeira imagem de referên- cia) cuja contagens de ordem de imagem é 2 na primeira lista de ima- gens de referência e uma imagem de referência (que pode ser enten- dida como a segunda imagem de referência) cuja contagens de ordem de imagem é 6 na segunda lista de imagens de referência pode formar um par de imagem de referência e uma imagem de referência cuja con- tagens de ordem de imagem é 0 na primeira lista de imagens de refe- rência e uma imagem de referência cuja contagens de ordem de ima- gem é 7 na segunda lista de imagens de referência pode ainda formar um par de imagem de referência. Neste caso, o decodificador de vídeo 202 precisa analisar o valor do índice de imagem de referências. Em outras palavras, quando há pluralidade de pares de imagens de referên- cia, valores de índice de imagens de referência podem ser obtidos atra- vés da análise.
[00225] Ainda, ao determinar que o modo de interpredição é um modo de interpredição bidirecional, o decodificador de vídeo 202 pode ainda determinar se a informação de recurso da imagem corrente atende uma condição predefinida (incluindo, mas não limitado a, as se-
guintes condições A, B, C, D, e/ou E). Dessa forma, quando a informa- ção de recurso da imagem corrente atende a condição predefinida, o decodificador de vídeo 202 obtém a informação de indicação. Em outras palavras, um processo específico de S400 pode alternativamente ser como segue: o decodificador de vídeo 202 obtém a informação de indi- cação ao determinar que o modo de interpredição é o modo de inter- predição bidirecional e a informação de recurso da imagem corrente atende a condição predefinida.
[00226] As informações de recursos da imagem corrente podem in- cluir, mas não estão limitadas a, pelo menos, uma de uma contagens de ordem de imagem (POC), um identificador de nível temporal (Temporal Level ID, TID) e / ou uma quantidade de imagens de referência. O fluxo de bits obtido pelo decodificador de vídeo 202 inclui um conjunto de pa- râmetros de sequência (Sequence Parameter Set, SPS), um conjunto de parâmetros de imagem (Picture Parameter Set, PPS), um cabeçalho de fatia (slice header) ou um cabeçalho de segmento de fatia (slice seg- ment header) e dados de imagem codificados. Em seguida, o decodifi- cador de vídeo 202 analisa o fluxo de bits para obter as informações de recursos da imagem corrente.
[00227] Opcionalmente, a condição predefinida inclui pelo menos uma das seguintes condições:
[00228] Condição A: O bloco corrente tem pelo menos duas imagens de referência.
[00229] Condição B: A contagens de ordem de imagem da imagem corrente, uma contagens de ordem de imagem da primeira imagem de referência, e uma contagens de ordem de imagem da segunda imagem de referência atendem a seguinte fórmula: POC_Cur − POC_listX = POC_listY − POC_Cur.
[00230] Aqui, POC_Cur representa a contagens de ordem de imagem da imagem corrente, POC_listX representa a contagens de ordem de imagem da primeira imagem de referência, POC_listY representa a con- tagens de ordem de imagem da segunda imagem de referência, a pri- meira imagem de referência é uma imagem de referência do bloco cor- rente na primeira direção, a segunda imagem de referência é uma ima- gem de referência do bloco corrente na segunda direção, a primeira imagem de referência pode ser na primeira lista de imagens de referên- cia, e a segunda imagem de referência pode ser na segunda lista de imagens de referência.
[00231] Condição C: A contagens de ordem de imagem da imagem corrente, uma contagens de ordem de imagem da primeira imagem de referência, e uma contagens de ordem de imagem da segunda imagem de referência atendem a seguinte fórmula: (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) > 0.
[00232] Aqui, POC_Cur representa a contagens de ordem de imagem da imagem corrente, POC_listX representa a contagens de ordem de imagem da primeira imagem de referência, POC_listY representa a con- tagens de ordem de imagem da segunda imagem de referência, a pri- meira imagem de referência é uma imagem de referência do bloco cor- rente na primeira direção, e a segunda imagem de referência é uma imagem de referência do bloco corrente na segunda direção. É claro que, essa fórmula especificamente indica que a contagens de ordem de imagem da imagem corrente precisa estar entre a contagens de ordem de imagem da primeira imagem de referência e a contagens de ordem de imagem da segunda imagem de referência. Mais especificamente, essa fórmula pode indicar que uma dentre a primeira imagem de refe- rência e a segunda imagem de referência está antes da imagem cor- rente em uma sequência de tempo, e a outro está após a imagem cor- rente na sequência de tempo.
[00233] Condição D: O TID da imagem corrente é maior do que ou igual a um valor predefinido.
[00234] A condição predefinida nesta modalidade deste pedido pode ser predefinida ou pode ser especificada em uma sintaxe de camada superior, por exemplo, em um conjunto de parâmetros como o SPS, o PPS, o cabeçalho da fatia (slice header) ou o cabeçalho do segmento de fatia (slice segment header). Isso não é especificamente limitado nesta modalidade deste pedido.
[00235] Condição E: mvd_l1_zero_flag da imagem corrente é 0.
[00236] mvd_l1_zero_flag é um bit do identificador obtido pelo deco- dificador de vídeo 202 através da análise. Quando mvd_l1_zero_flag é 1, indica que uma MVD da Lista 1 não precisa ser analisada. (mvd_l1_zero_flag igual a 1 indica que a estrutura de sintaxe mvd_co- ding(x0, y0, 1) não é analisada e MvdL1[ x0 ][ y0 ][ compIdx ] é definido igual a 0 para compIdx = 0..1. mvd_l1_zero_flag igual a 0 indica que a estrutura de sintaxe mvd_coding(x0, y0, 1) é analisada). Para ser espe- cífico, mvd_l1_zero_flag = 1 pode ser usado para indicar que uma se- gunda diferença de vetor de movimento é 0, e mvd_l1_zero_flag = 0 pode ser usado para indicar se uma segunda diferença de vetor de mo- vimento precisa ser analisada ou derivada.
[00237] Especificamente, para a condição B (ou a condição C), o de- codificador de vídeo 202 obtém uma contagens de ordem de imagem de uma imagem de referência de cada uma dentre a primeira lista de imagens de referência e a segunda lista de imagens de referência, e determina se a contagens de ordem de imagem obtida da imagem de referência e a contagens de ordem de imagem da imagem corrente atendem a condição B ou a condição C. A informação de indicação é obtida quando a condição B (ou a condição C) é atendida. Deve ser entendido que o decodificador de vídeo 202 pode obter qualquer ima- gem de referência de cada uma dentre a primeira lista de imagens de referência e a segunda lista de imagens de referência para realizar a correspondência de condição.
[00238] Opcionalmente, para a condição A, o decodificador de vídeo 202 define um valor do índice de imagem de referência (SymRefIdxX) na primeira direção a 0, e define um valor do índice de imagem de refe- rência (SymRefIdxY) na segunda direção a 0.
[00239] Opcionalmente, para a condição B, o decodificador de vídeo 202 busca a primeira lista de imagens de referência para uma imagem de referência que está mais próxima à imagem corrente e cuja conta- gens de ordem de imagem é menor do que a contagens de ordem de imagem da imagem corrente, onde a imagem de referência ou a conta- gens de ordem de imagem da imagem de referência pode ser represen- tada como POC_listX; e o decodificador de vídeo 202 busca a segunda lista de imagens de referência para uma imagem de referência que atende POC_Cur − POC_listX = POC_listY − POC_Cur, onde a imagem de referência ou uma contagens de ordem de imagem da imagem de refe- rência pode ser representada como POC_listY. Se as imagens de refe- rência POC_listX e POC_listY que atendem as exigências podem ser encontradas nesta maneira de busca, o valor do índice de imagem de referência (SymRefIdxX) na primeira direção é definido como um valor de índice de POC_listX na primeira lista de imagens de referência, e o valor do índice de imagem de referência (SymRefIdxY) na segunda di- reção é definido como um valor de índice de POC_listY na segunda lista de imagens de referência. Opcionalmente, se as imagens de referência POC_listX e POC_listY que atendem as exigências não podem ser en- contradas, o decodificador de vídeo 202 ainda busca uma imagem de referência POC_listX que está mais próxima à imagem corrente e cuja contagens de ordem de imagem é maior do que a contagens de ordem de imagem da imagem corrente; e o decodificador de vídeo 202 busca a segunda lista de imagens de referência para uma imagem de referên- cia POC_listY que atende POC_Cur − POC_listX = POC_listY − POC_Cur. Se as imagens de referência POC_listX e POC_listY que atendem as exigências podem ser encontradas nesta maneira de busca, o valor do índice de imagem de referência (SymRefIdxX) na primeira direção é de- finido como um valor de índice de POC_listX na primeira lista de ima- gens de referência, e o valor do índice de imagem de referência (Sym- RefIdxY) na segunda direção é definido como um valor de índice de POC_listY na segunda lista de imagens de referência. A primeira direção pode corresponder à primeira lista de imagens de referência, e a se- gunda direção pode corresponder à segunda lista de imagens de refe- rência.
[00240] Opcionalmente, para as possíveis condições supracitadas como a condição C, o decodificador de vídeo 202 busca a primeira lista de imagens de referência para uma imagem de referência que está mais próxima à imagem corrente e cuja contagens de ordem de imagem é menor do que a contagens de ordem de imagem da imagem corrente, onde a imagem de referência ou a contagens de ordem de imagem da imagem de referência pode ser representada como POC_listX; e o deco- dificador de vídeo 202 busca a segunda lista de imagens de referência para uma imagem de referência que está mais próxima à imagem cor- rente e cuja contagens de ordem de imagem é maior do que a conta- gens de ordem de imagem da imagem corrente, onde a imagem de re- ferência ou a contagens de ordem de imagem da imagem de referência pode ser representada como POC_listY. Se as imagens de referência POC_listX e POC_listY que atendem as exigências podem ser encon- tradas nesta maneira de busca, o valor do índice de imagem de referên- cia (SymRefIdxX) na primeira direção é definido como um valor de ín- dice de POC_listX (que pode ainda corresponder a uma imagem de re- ferência cuja POC é POC_listX) na primeira lista de imagens de refe- rência, e o valor do índice de imagem de referência (SymRefIdxY) na segunda direção é definido como um valor de índice de POC_listY (que pode ainda corresponder a uma imagem de referência cuja POC é
POC_listY) na segunda lista de imagens de referência. Opcionalmente, se as imagens de referência POC_listX e POC_listY que atendem as exigências não podem ser encontradas, o decodificador de vídeo 202 ainda busca uma imagem de referência POC_listX que está mais próxima à imagem corrente e cuja contagens de ordem de imagem é maior do que a contagens de ordem de imagem da imagem corrente; e o decodi- ficador de vídeo 202 busca a segunda lista de imagens de referência para uma imagem de referência POC_listY que está mais próxima à ima- gem corrente e cuja contagens de ordem de imagem é menor do que a contagens de ordem de imagem da imagem corrente. Se as imagens de referência POC_listX e POC_listY que atendem as exigências podem ser encontradas nesta maneira de busca, o valor do índice de imagem de referência (SymRefIdxX) na primeira direção é definido como um va- lor de índice de POC_listX em a primeira lista de imagens de referência, e o valor do índice de imagem de referência (SymRefIdxY) na segunda direção é definido como um valor do índice de imagem de referência de POC_listY na segunda lista de imagens de referência. A primeira direção pode corresponder à primeira lista de imagens de referência, a segunda direção pode corresponder à segunda lista de imagens de referência, e vice-versa.
[00241] A busca da primeira lista de imagens de referência (por exemplo, L0) para a imagem de referência que está mais próxima à ima- gem corrente e cuja contagens de ordem de imagem é menor do que a contagens de ordem de imagem da imagem corrente pode ser sintatica- mente expressa usando a seguinte expressão: – DiffPicOrderCnt( currPic, RefPicList[ 0 ][ i ] ) > 0, – DiffPicOrderCnt (currPic, RefPicList[0][ i]) <DiffPicOr- derCnt(currPic, RefPicList[ 0 ][ RefIdxSymL0 ] ) RefIdxSymL0 é definido como i.
[00242] Na primeira lista de imagens de referência, uma imagem de referência cujo índice é RefIdxSymL0 é a imagem de referência encon- trada.
[00243] A busca da segunda lista de imagens de referência (por exemplo, L1) para a imagem de referência que está mais próxima à ima- gem corrente e cuja contagens de ordem de imagem é maior do que a contagens de ordem de imagem da imagem corrente pode ser sintatica- mente expressa usando a seguinte expressão: – DiffPicOrderCnt( currPic, RefPicList[ 1 ][ i ] ) < 0, – DiffPicOrderCnt( currPic, RefPicList[ 1 ][ i ] ) > DiffPicOr- derCnt( currPic, RefPicList[ 1 ][ RefIdxSymL1 ] ) RefIdxSymL1 é definido como i.
[00244] Na segunda lista de imagens de referência, uma imagem de referência cujo índice é RefIdxSymL1 é a imagem de referência encon- trada.
[00245] A busca da segunda lista de imagens de referência (por exemplo, L1) para a imagem de referência que está mais próxima à ima- gem corrente e cuja contagens de ordem de imagem é menor do que a contagens de ordem de imagem da imagem corrente pode ser sintatica- mente expressa usando a seguinte expressão: – DiffPicOrderCnt( currPic, RefPicList[ 1 ][ i ] ) > 0, – DiffPicOrderCnt( currPic, RefPicList[ 1 ][ i ] ) < DiffPicOr- derCnt( currPic, RefPicList[ 1 ][ RefIdxSymL1 ] ), RefIdxSymL1 é definido como i.
[00246] Na segunda lista de imagens de referência, uma imagem de referência cuja índice é RefIdxSymL1 é a imagem de referência encon- trada.
[00247] A busca da primeira lista de imagens de referência (por exemplo, L0) para a imagem de referência que está mais próxima à ima- gem corrente e cuja contagens de ordem de imagem é maior do que a contagens de ordem de imagem da imagem corrente pode ser sintatica- mente expressa usando a seguinte expressão: – DiffPicOrderCnt( currPic, RefPicList[ 0 ][ i ] ) < 0, – DiffPicOrderCnt( currPic, RefPicList[ 0 ][ i ] ) > DiffPicOr- derCnt( currPic, RefPicList[ 0 ][ RefIdxSymL0 ] ) RefIdxSymL0 é definido como i.
[00248] Na primeira lista de imagens de referência, uma imagem de referência cujo índice é RefIdxSymL0 é a imagem de referência encon- trada.
[00249] Em conclusão, é fornecida uma política para determinar uma imagem de referência (ou um índice). L0 é primeiro pesquisado por uma imagem de referência (ou um índice) com um POC mais próximo para a frente, e então L1 é pesquisado por uma imagem de referência (ou um índice) com uma POC mais próxima para trás. Se uma das imagens de referência não for encontrada ou nenhuma das imagens de referência for encontrada, L1 pode ser primeiro pesquisado por uma imagem de referência (ou um índice) com uma POC mais próxima à frente e, em seguida, L0 é pesquisado por uma imagem de referência (ou um índice) com uma POC mais próximo para trás. "Avançar" pode indicar que a POC é menor que a POC da imagem corrente, ou seja, pode indicar que uma imagem de referência específica está antes da imagem corrente em uma sequência de reprodução / exibição, e "para trás" pode indicar que a POC é maior que a POC da imagem corrente, ou seja, pode indi- car que uma imagem de referência específica está após a imagem cor- rente em uma sequência de reprodução / exibição.
[00250] Nesta modalidade deste pedido, quando é determinado que o modo de interpredição é o modo de interpredição bidirecional e a informação de recurso da imagem corrente atende a condição predefi- nida, um método em que "o decodificador de vídeo 202 obtém a infor-
mação de indicação" pode ser a mesma que a usada quando for deter- minado que o modo de interpredição é o modo de interpredição bidire- cional.
[00251] Com referência às descrições supracitadas, a Tabela 1 é uma tabela de sintaxe usada pelo decodificador de vídeo 202 para obter a informação de indicação na primeira implementação quando for deter- minado que o modo de interpredição é o modo de interpredição bidire- cional e a informação de recurso da imagem corrente atende a condição predefinida. prediction_unit() é uma estrutura de sintaxe de um bloco de imagem de previsão, e pode descrever um método para determinar a informação de movimento de cada sub-bloco no bloco corrente.
[00252] Na Tabela 1, x0 e y0 respectivamente representam um des- locamento de coordenada horizontal e um deslocamento de coordenada vertical de um sub-bloco no bloco corrente relativo ao canto superior- esquerdo do bloco corrente, nPbW representa a largura do bloco cor- rente, e nPbH representa a altura do bloco corrente. Quando um valor de inter_pred_idc[x0][y0] for PRED_L0, ele indica que a interpredição em um sub-bloco corrente é previsão de avanço. Quando um valor de inter_pred_idc[x0][y0] for PRED_L1, ele indica que interpredição em um sub-bloco corrente é previsão de retorno. Quando um valor de in- ter_pred_idc[x0][y0] for PRED_BI, ele indica que a interpredição em um sub-bloco corrente é previsão bidirecional.
[00253] Para interpredição bidirecional (isto é, in- ter_pred_idc[x0][y0]==PRED_BI), se a condição predefinida (condições) for atendida, mv_derived_flag_l0[x0][y0] é analisado. Se o valor de mv_derived_flag_l0 não for o primeiro valor predefinido, mv_deri- ved_flag_l1[x0][y0] é analisado. Quando o valor de mv_derived_flag_l0 é o primeiro valor predefinido ou o valor de mv_derived_flag_l1[x0][y0] é o quinto valor predefinido, informação de movimento do sub-bloco do bloco corrente é determinada. Para ser específico, um valor do índice de imagem de referência ref_idx_l0[x0][y0], um indicador de preditor do vetor de movimento mvp_l0_flag[x0][y0], e uma diferença do vetor de movimento mvd_coding(x0, y0, 0) são determinados.
Tabela 1 prediction_unit(x0, y0, nPbW, nPbH) { … /* codificação do vetor de movimento*/ se( slice_type==B ) inter_pred_idc[x0][y0] se( inter_pred_idc[x0][y0]==PRED_L0 ) { se( num_ref_idx_l0_active_minus1 > 0 ) ref_idx_l0[x0][y0] mvd_coding( x0, y0, 0 ) mvp_l0_flag[x0][y0] } se( inter_pred_idc[x0][y0]==PRED_L1 ) { se( num_ref_idx_l1_active_minus1 > 0 ) ref_idx_l1[x0][y0] mvd_coding( x0, y0, 1) mvp_l1_flag[x0][y0] } se( inter_pred_idc[x0][y0]==PRED_BI ) { se( condições ) { mv_derived_flag_l0[x0][y0] se( !mv_derived_flag_l0[x0][y0]) { mv_derived_flag_l1[x0][y0] } se( !mv_derived_flag_l0[x0][y0]) { se( num_ref_idx_l0_active_minus1 > 0 ) ref_idx_l0[x0][y0]
mvd_coding( x0, y0, 0 ) mvp_l0_flag[x0][y0] } se( !mv_derived_flag_l1[x0][y0]) { se( num_ref_idx_l1_active_minus1 > 0 ) ref_idx_l1[x0][y0] mvd_coding(x0, y0, 0 ) mvp_l1_flag[x0][y0] } }
[00254] Com referência às descrições supracitadas, a Tabela 2 é uma tabela de sintaxe usada pelo decodificador de vídeo 202 para obter a informação de indicação na terceira implementação quando for deter- minado que o modo de interpredição é o modo de interpredição bidire- cional e a informação de recurso da imagem corrente atende a condição predefinida.
[00255] Na Tabela 2, para interpredição bidirecional (isto é, in- ter_pred_idc[x0][y0]==PRED_BI), se a condição predefinida (condições) for atendida, derived_mv_flag[x0][y0] é analisado. Se um valor de deri- ved_mv_flag[x0][y0] for o segundo valor predefinido, a informação de movimento do sub-bloco do bloco corrente é determinada. Para ser es- pecífico, um valor do índice de imagem de referência ref_idx_lx[x0][y0], um indicador de preditor do vetor de movimento mvp_lx_flag[x0][y0], e uma diferença do vetor de movimento mvd_coding(x0, y0, x) são deter- minados. Tabela 2 prediction_unit(x0, y0, nPbW, nPbH) { … /* codificação do vetor de movimento*/ se( slice_type==B )
inter_pred_idc[x0][y0] se( inter_pred_idc[x0][y0]==PRED_L0 ) { se( num_ref_idx_l0_active_minus1 > 0 ) ref_idx_l0[x0][y0] mvd_coding( x0, y0, 0 ) mvp_l0_flag[x0][y0] } se( inter_pred_idc[x0][y0]==PRED_L1 ) { se( num_ref_idx_l1_active_minus1 > 0 ) ref_idx_l1[x0][y0] mvd_coding( x0, y0, 1) mvp_l1_flag[x0][y0] } se( inter_pred_idc[x0][y0]==PRED_BI ) { se( condições ) { derived_mv_flag[ x0 ][ y0 ] se( derived_mv_flag[x0][y0] ) { se( num_ref_idx_lx_active_minus1 > 0 ) ref_idx_lx[ x0 ][ y0 ] mvd_coding( x0, y0, x ) mvp_lx_flag[ x0 ][ y0 ] } else { …… } }
[00256] Com referência às descrições supracitadas, a Tabela 3 é uma tabela de sintaxe usada pelo decodificador de vídeo 202 para obter a informação de indicação na quarta implementação quando for deter- minado que o modo de interpredição é o modo de interpredição bidire- cional e a informação de recurso da imagem corrente atende a condição predefinida.
[00257] Na Tabela 3, para a interpredição bidirecional (isto é, in- ter_pred_idc[x0][y0]==PRED_BI), se a condição predefinida (condições) for atendida, derived_mv_flag[x0][y0] é analisado. Se um valor de deri- ved_mv_flag[x0][y0] for o quarto valor predefinido, derived_ref_num é determinado, e quando um valor de derived_ref_num é maior do que 1, informação de movimento do sub-bloco do bloco corrente é determi- nado. Para ser específico, um valor do índice de imagem de referência ref_idx_lx[x0][y0], um indicador de preditor do vetor de movimento mvp_lx_flag[x0][y0], e uma diferença do vetor de movimento mvd_co- ding(x0, y0, x) são determinados. Tabela 3 prediction_unit(x0, y0, nPbW, nPbH) { … /* codificação do vetor de movimento*/ se( slice_type==B ) inter_pred_idc[x0][y0] se( inter_pred_idc[x0][y0]==PRED_L0 ) { se( num_ref_idx_l0_active_minus1 > 0 ) ref_idx_l0[x0][y0] mvd_coding( x0, y0, 0 ) mvp_l0_flag[x0][y0] } se( inter_pred_idc[x0][y0]==PRED_L1 ) { se( num_ref_idx_l1_active_minus1 > 0 ) ref_idx_l1[x0][y0] mvd_coding( x0, y0, 1) mvp_l1_flag[x0][y0] } se( inter_pred_idc[x0][y0]==PRED_BI ) {
se( condições ) { derived_mv_flag[x0][y0] se( derived_mv_flag[x0][y0] ) { se( num_ref_idx_lx_active_minus1 > 0 && derived_ref_num > 1) ref_idx_lx[x0][y0] mvd_coding(x0, y0, x ) mvp_lx_flag[x0][y0] } else { …… } }
[00258] O primeiro identificador, o segundo identificador, o terceiro identificador, e o quarto identificador podem ser todos predefinidos, ou podem ser especificados em uma sintaxe de camada superior, por exemplo, em um parâmetro definido como um SPS, um PPS, um cabe- çalho de fatia (slice header), ou um cabeçalho de segmento de fatia (slice segment header). Isso não é especificamente limitado nesta mo- dalidade deste pedido.
[00259] O decodificador de vídeo 202 obtém a informação de indica- ção ao determinar que o modo de interpredição é o modo de interpre- dição bidirecional e a informação de recurso da imagem corrente atende a condição predefinida. Isso efetivamente melhora uma taxa de decodificação do decodificador de vídeo 202, e reduz a redundância de informação.
[00260] S401: O decodificador de vídeo 202 obtém a primeira infor- mação de movimento.
[00261] Opcionalmente, o decodificador de vídeo 202 analisa o fluxo de bits para obter um valor de índice da primeira imagem de referência, um primeiro indicador de preditor do vetor de movimento, e uma primeira diferença de vetor de movimento, ou seja, para obter a primeira infor- mação de movimento. O primeiro indicador de preditor do vetor de mo- vimento é usado para indicar um valor de índice de um primeiro vetor de movimento previsto em uma primeira lista de vetor de movimento previsto candidato, o primeiro vetor de movimento previsto é um vetor de movimento previsto do bloco corrente na primeira direção, a primeira diferença de vetor de movimento é uma diferença entre o primeiro vetor de movimento previsto e um primeiro vetor de movimento, e o primeiro vetor de movimento é um vetor de movimento do bloco corrente na pri- meira direção.
[00262] Opcionalmente, uma imagem de referência em uma primeira localização na lista de imagens de referência é, de modo geral, uma imagem mais próxima à imagem corrente. Portanto, o valor de índice ref_lX_idx da primeira imagem de referência pode ser diretamente defi- nido como 0.
[00263] Opcionalmente, quando o decodificador de vídeo 202 deter- mina, de acordo com a condição predefinida B ou C, se obter a informa- ção de indicação, o decodificador de vídeo 202 pode definir o valor de índice ref_lX_idx da primeira imagem de referência como um valor pre- determinado SymRefIdxX. Por exemplo, quando a condição predefinida B ou C for atendida, a informação de indicação pode ser obtida, e o valor de índice ref_lX_idx da primeira imagem de referência pode ser definido como o valor predeterminado SymRefIdxX. X pode ser 0 ou 1.
[00264] Opcionalmente, a primeira lista de vetor de movimento pre- visto candidato é construída com base no valor de índice da primeira imagem de referência. Especificamente, em um processo para construir a primeira lista de vetor de movimento previsto candidato, um vetor de movimento de um bloco de imagem decodificado próximo do bloco cor- rente é obtido. A contagens de ordem de imagem da primeira imagem de referência é determinada com base no valor de índice da primeira imagem de referência e da primeira lista de imagens de referência. Se uma contagem de ordem de imagem da imagem de referência do bloco de imagem decodificado próximo for diferente da contagens de ordem de imagem da primeira imagem de referência, o vetor de movimento do bloco de imagem decodificado próximo precisa ser escalado ao ponto à primeira imagem de referência, e então é adicionado à primeira lista de vetor de movimento previsto candidato.
[00265] Em cada uma das tabelas de sintaxe mostradas na Tabela 1 a Tabela 3, o decodificador de vídeo 202 determina a informação de movimento do sub-bloco do bloco corrente na primeira direção.
[00266] S402: O decodificador de vídeo 202 determina a segunda informação de movimento com base na primeira informação de movi- mento.
[00267] Em um primeira implementação, um método usado pelo de- codificador de vídeo 202 determinando a segunda informação de movi- mento é como segue: o decodificador de vídeo 202 seleciona o valor de índice (que pode ainda ser brevemente referido como um índice) da pri- meira imagem de referência da primeira informação de movimento, e determina a contagens de ordem de imagem da primeira imagem de referência com base no valor de índice da primeira imagem de referên- cia e da primeira lista de imagens de referência; calcula a contagens de ordem de imagem da segunda imagem de referência com base na con- tagens de ordem de imagem da imagem corrente e a contagens de or- dem de imagem da primeira imagem de referência de acordo com uma fórmula predefinida; determina um valor de índice da segunda imagem de referência com base na contagens de ordem de imagem da segunda imagem de referência e na segunda lista de imagens de referência; e determina a segunda informação de movimento com base na primeira informação de movimento e no índice da segunda imagem de referên- cia.
[00268] Aqui, uma fórmula predefinida pode ser POC_listY = 2 ∗ POC_Cur − POC_listX. POC_Cur representa a contagens de ordem de ima- gem da imagem corrente, POC_listX representa a contagens de ordem de imagem da primeira imagem de referência, e POC_listY representa a contagens de ordem de imagem da segunda imagem de referência.
[00269] Por exemplo, se a contagens de ordem de imagem da ima- gem corrente for 4, a contagens de ordem de imagem da primeira ima- gem de referência for 2, a segunda lista de imagens de referência é {6, 8}, e for determinado, de acordo com a fórmula POC_listY = 2 ∗ POC_Cur − POC_listX, que a contagens de ordem de imagem da segunda imagem de referência é 6, o decodificador de vídeo 202 determina que o valor de índice ref_lY_idx da segunda imagem de referência é 0.
[00270] Opcionalmente, a fórmula predefinida pode alternativamente ser (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) > 0. Deve ser obser- vado que, se as contagens de ordem de imagem de uma pluralidade de imagens de referência na segunda lista de imagens de referência aten- dem a fórmula, o decodificador de vídeo 202 primeiro seleciona uma imagem de referência com um mínimo abs((POC_listY − POC_Cur) − (POC_Cur − POC_listX)), e então seleciona uma imagem de referência com um mínimo abs(POC_listY − POC_Cur), determinando o valor de ín- dice da segunda imagem de referência. Aqui, abs é uma função de valor absoluto.
[00271] Por exemplo, se a contagens de ordem de imagem da ima- gem corrente for 4, a contagens de ordem de imagem da primeira ima- gem de referência for 2, a segunda lista de imagens de referência é {5, 7, 8}, e for determinado, de acordo com a fórmula (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) > 0, que a contagens de ordem de imagem da segunda imagem de referência é 5, o decodificador de vídeo 202 determina que o valor de índice ref_lY_idx da segunda imagem de referência é 0.
[00272] Opcionalmente, a fórmula predefinida pode alternativamente ser POC_listX ≠ POC_listY. Deve ser observado que, se as contagens de ordem de imagem de uma pluralidade de imagens de referência na se- gunda lista de imagens de referência atendem a fórmula, o decodifica- dor de vídeo 202 primeiro seleciona uma imagem de referência com um mínimo abs((POC_listY − POC_Cur) − (POC_Cur − POC_listX)), e então seleciona uma imagem de referência com um mínimo abs(POC_listY − POC_Cur), determinando o valor de índice da segunda imagem de refe- rência. Aqui, abs é uma função de valor absoluto.
[00273] Por exemplo, se a contagens de ordem de imagem da ima- gem corrente for 4, a contagens de ordem de imagem da primeira ima- gem de referência for 2, a segunda lista de imagens de referência é {3, 2, 1, 0}, e for determinado, de acordo com a fórmula POC_listX ≠ POC_listY, que a contagens de ordem de imagem da segunda imagem de referência é 3, o decodificador de vídeo 202 determina que o valor de índice ref_lY_idx da segunda imagem de referência é 0.
[00274] Opcionalmente, a fórmula predefinida ou condição pode al- ternativamente ser POC_listY0 = 2 ∗ POC_Cur − POC_listX, (POC_Cur − POC_listX) ∗ (POC_listY0′ − POC_Cur) > 0, e POClistX ≠ POClistY0 ′′. Um caso opcional é que todas as três condições precisam ser atendidas. Neste caso, um método usado pelo decodificador de vídeo 202 determi- nando o valor de índice da segunda imagem de referência é especifica- mente: calcular uma primeira contagens de ordem de imagem com base na contagens de ordem de imagem da imagem corrente e na contagens de ordem de imagem da primeira imagem de referência de acordo com a fórmula POC_listY0 = 2 ∗ POC_Cur − POC_listX, onde POC_Cur repre- senta a contagens de ordem de imagem da imagem corrente, POC_listX representa a contagens de ordem de imagem da primeira imagem de referência, e POC_listY0 representa a primeira contagens de ordem de imagem; e quando a segunda lista de imagens de referência inclui a primeira contagens de ordem de imagem, determinar, como o valor de índice da segunda imagem de referência, um número da imagem de referência representada pela primeira contagens de ordem de imagem na segunda lista de imagens de referência; ou quando a segunda lista de imagens de referência não inclui a primeira contagens de ordem de imagem, calculando uma segunda contagens de ordem de imagem com base na contagens de ordem de imagem da imagem corrente e a con- tagens de ordem de imagem da primeira imagem de referência de acordo com (POC_Cur − POC_listX) ∗ (POC_listY0′ − POC_Cur) > 0, onde POC_listY0′ representa a segunda contagens de ordem de imagem, e quando a segunda lista de imagens de referência inclui a segunda con- tagens de ordem de imagem, determinar, as o valor de índice da se- gunda imagem de referência, um número da imagem de referência re- presentada pela segunda contagens de ordem de imagem na segunda lista de imagens de referência, ou quando a segunda lista de imagens de referência não inclui a segunda contagens de ordem de imagem, cal- cular a terceira contagens de ordem de imagem com base na contagens de ordem de imagem da imagem corrente e na contagens de ordem de imagem da primeira imagem de referência de acordo com a condição POC_listX ≠ POC_listY0′′, onde POC_listY0′′ representa a terceira conta- gens de ordem de imagem, e determinar, como o valor de índice da segunda imagem de referência, um número da imagem de referência representada pela terceira contagens de ordem de imagem na segunda lista de imagens de referência.
[00275] Opcionalmente, uma imagem de referência em uma primeira localização na lista de imagens de referência é, de modo geral, uma imagem mais próxima à imagem corrente. Portanto, o valor de índice ref_lY_idx da segunda imagem de referência pode ser diretamente de- finido como 0. Definir a 0 indica apontando à primeira localização na lista de imagens de referência.
[00276] Opcionalmente, quando o decodificador de vídeo 202 deter- mina, de acordo com a condição predefinida B ou C, se obter a informa- ção de indicação, o decodificador de vídeo 202 pode definir o valor de índice ref_lY_idx da segunda imagem de referência a um valor prede- terminado SymRefIdxY. Por exemplo, quando a condição predefinida B ou C é atendida, a informação de indicação pode ser obtida, e o valor de índice ref_lY_idx da segunda imagem de referência pode ser definido como o valor predeterminado SymRefIdxY.
[00277] Em uma segunda implementação, um método usado pelo decodificador de vídeo 202 determinando a segunda informação de mo- vimento é como segue: o decodificador de vídeo 202 analisa o fluxo de bits para obter um valor de índice da segunda imagem de referência, e determina a segunda informação de movimento com base na primeira informação de movimento e o valor de índice da segunda imagem de referência. O valor de índice da segunda imagem de referência pode ser predefinido, ou pode ser especificado em um parâmetro definido como um SPS, um PPS, um cabeçalho de fatia (slice header), ou a cabeçalho de segmento de fatia (slice segment header). Isso não é especifica- mente limitado nesta modalidade deste pedido.
[00278] Pode ser aprendido que, em ambas a primeira implementa- ção e a segunda implementação, o decodificador de vídeo 202 deter- mina a segunda informação de movimento com base na primeira infor- mação de movimento e no valor de índice da segunda imagem de refe- rência.
[00279] Opcionalmente, o decodificador de vídeo 202 pode calcular toda a informação de movimento do bloco corrente na segunda direção, ou pode calcular alguma informação de movimento do bloco corrente na segunda direção.
[00280] O seguinte descreve um processo em que o decodificador de vídeo 202 determina a segunda informação de movimento com base na primeira informação de movimento e no valor de índice da segunda imagem de referência.
[00281] Opcionalmente, um método em que "o decodificador de ví- deo 202 determina a segunda informação de movimento com base na primeira informação de movimento e no valor de índice da segunda ima- gem de referência" pode ser: obter o valor de índice da primeira imagem de referência na primeira informação de movimento, e determinar a con- tagens de ordem de imagem da primeira imagem de referência com base no valor de índice da primeira imagem de referência e na primeira lista de imagens de referência; obter o valor de índice da segunda ima- gem de referência, e determinar a contagens de ordem de imagem da segunda imagem de referência com base no valor de índice da segunda imagem de referência e na segunda lista de imagens de referência; de- terminar o primeiro vetor de movimento (o vetor de movimento do bloco corrente na primeira direção) com base na primeira diferença de vetor de movimento e no primeiro indicador de preditor do vetor de movimento que estão na primeira informação de movimento; e determinar um se- gundo vetor de movimento na segunda informação de movimento de acordo com a seguinte fórmula: 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 mv_ lY = × mv_ lX. 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋
[00282] Aqui, mv_ lY representa o segundo vetor de movimento, 𝑃𝑂𝐶_ 𝐶𝑢𝑟 representa a contagens de ordem de imagem da imagem cor- rente, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋 representa a contagens de ordem de imagem da pri- meira imagem de referência, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 representa a contagens de or- dem de imagem da segunda imagem de referência, mv_ lX representa o primeiro vetor de movimento, e o segundo vetor de movimento é um vetor de movimento do bloco corrente na segunda direção.
[00283] O decodificador de vídeo 202 constrói uma lista de informa- ção de movimento candidato em uma maneira que é a mesma que a maneira em que o lado do codificador constrói a lista de informação de movimento candidato no modo AMVP ou o modo de fusão, e determina o primeiro vetor de movimento previsto na lista de informação de movi- mento candidato com base no primeiro indicador de preditor do vetor de movimento. Dessa forma, o decodificador de vídeo 202 pode determinar uma soma do primeiro vetor de movimento previsto e a primeira dife- rença de vetor de movimento como o primeiro vetor de movimento.
[00284] Opcionalmente, quando a primeira imagem de referência for uma imagem de referência de avanço do bloco corrente e a segunda imagem de referência for uma imagem de referência de retorno do bloco corrente, ou quando a primeira imagem de referência for uma imagem de referência de retorno do bloco corrente e a segunda imagem de re- ferência for uma imagem de referência de avanço do bloco corrente, ou quando a primeira imagem de referência e a segunda imagem de refe- rência forem uma imagem de referência de avanço do bloco corrente, ou quando a primeira imagem de referência e a segunda imagem de referência forem uma imagem de referência de retorno do bloco cor- rente, o decodificador de vídeo 202 pode definir diretamente mv_ lY = −mv_ lX.
[00285] Opcionalmente, o decodificador de vídeo 202 pode não de- terminar a situação supracitada sobre a imagem de referência de avanço e a imagem de referência de retorno, mas definir diretamente mv_ lY = −mv_ lX.
[00286] Por exemplo, ambas "a primeira imagem de referência é uma imagem de referência de avanço do bloco corrente e a segunda imagem de referência é uma imagem de referência de retorno do bloco corrente" e "a primeira imagem de referência é uma imagem de referência de re- torno do bloco corrente e a segunda imagem de referência é uma ima- gem de referência de avanço do bloco corrente" pode ser representada usando uma fórmula (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) > 0, ou pode ser representada usando uma fórmula POC_listY = 2 ∗
POC_Cur − POC_listX. Em outras palavras, ambas as fórmulas podem in- dicar que uma dentre a primeira imagem de referência e a segunda ima- gem de referência está antes da imagem corrente em uma sequência de tempo, e o outro está após a imagem corrente na sequência de tempo.
[00287] Ambas "a primeira imagem de referência e a segunda ima- gem de referência são uma imagem de referência de avanço do bloco corrente" e "a primeira imagem de referência e a segunda imagem de referência são uma imagem de referência de retorno do bloco corrente" podem ser representadas usando uma fórmula (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) < 0.
[00288] Opcionalmente, um método em que "o decodificador de ví- deo 202 determina a segunda informação de movimento com base na primeira informação de movimento e o valor de índice da segunda ima- gem de referência" pode ser: obter o valor de índice da primeira imagem de referência e a primeira diferença de vetor de movimento que estão na primeira informação de movimento, e determinar a contagens de or- dem de imagem da primeira imagem de referência com base no valor de índice da primeira imagem de referência e a primeira lista de imagens de referência; obter o valor de índice da segunda imagem de referência, determinar a contagens de ordem de imagem da segunda imagem de referência com base no valor de índice da segunda imagem de referên- cia e na segunda lista de imagens de referência, e determinar um se- gundo vetor de movimento previsto com base no valor de índice da se- gunda imagem de referência e em uma segunda lista de vetor de movi- mento previsto candidato, onde o segundo vetor de movimento previsto é um vetor de movimento previsto do bloco corrente na segunda dire- ção; determinar uma segunda diferença de vetor de movimento na se- gunda informação de movimento de acordo com a seguinte fórmula: 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 mvd_ lY = × mvd_ lX, onde 𝑃𝑂𝐶_ 𝐶𝑢𝑟−𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋 mvd_ lY representa a segunda diferença de vetor de movimento, 𝑃𝑂𝐶_ 𝐶𝑢𝑟 representa a contagens de ordem de imagem da imagem corrente, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑋 representa a contagens de ordem de imagem da primeira imagem de referência, 𝑃𝑂𝐶_ 𝑙𝑖𝑠𝑡𝑌 representa a contagens de ordem de imagem da segunda imagem de referência, e mvd_ lX representa a pri- meira diferença de vetor de movimento; e determinar um segundo vetor de movimento com base no segundo vetor de movimento previsto e na segunda diferença de vetor de movimento, onde o segundo vetor de movimento é um vetor de movimento do bloco corrente na segunda di- reção.
[00289] Opcionalmente, a segunda lista de vetor de movimento pre- visto candidato é construída com base no valor de índice da segunda imagem de referência. Especificamente, em um processo para construir a segunda lista de vetor de movimento previsto candidato, um vetor de movimento de um bloco de imagem decodificado próximo do bloco cor- rente é obtido. A contagens de ordem de imagem da segunda imagem de referência é determinada com base no valor de índice da segunda imagem de referência e na segunda lista de imagens de referência. Se uma contagem de ordem de imagem da imagem de referência do bloco de imagem decodificado próximo for diferente da contagens de ordem de imagem da segunda imagem de referência, o vetor de movimento do bloco de imagem decodificado próximo precisa ser escalado ao ponto à segunda imagem de referência, e então é adicionado à segunda lista de vetor de movimento previsto candidato.
[00290] Opcionalmente, quando a primeira imagem de referência for uma imagem de referência de avanço do bloco corrente e a segunda imagem de referência for uma imagem de referência de retorno do bloco corrente, ou quando a primeira imagem de referência for uma imagem de referência de retorno do bloco corrente e a segunda imagem de re- ferência for uma imagem de referência de avanço do bloco corrente, ou quando a primeira imagem de referência e a segunda imagem de refe- rência forem uma imagem de referência de avanço do bloco corrente, ou quando a primeira imagem de referência e a segunda imagem de referência forem uma imagem de referência de retorno do bloco cor- rente, o decodificador de vídeo 202 pode diretamente definido mvd_ lY = −mvd_ lX. Por exemplo, se (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) > 0, POC_listY = 2 ∗ POC_Cur − POC_listX, ou (POC_Cur − POC_listX) ∗ (POC_listY − POC_Cur) < 0, o decodificador de vídeo 202 di- retamente define mvd_ lY = −mvd_ lX.
[00291] Opcionalmente, o decodificador de vídeo 202 pode não de- terminar a situação supracitada sobre a imagem de referência de avanço e a imagem de referência de retorno, mas diretamente definir mvd_ lY = −mvd_ lX.
[00292] mvd_ lY é obtida, e então o segundo vetor de movimento pode ser determinado com base no segundo vetor de movimento previsto e na segunda diferença de vetor de movimento. Nesta método, a deriva- ção da segunda diferença de vetor de movimento não é relacionada a uma contagens de ordem de imagem da imagem de referência.
[00293] Em conclusão, nesta modalidade da presente invenção, o segundo vetor de movimento pode ser derivado com base no primeiro vetor de movimento, ou a segunda diferença de vetor de movimento pode ser derivado com base na primeira diferença de vetor de movi- mento, de modo que o primeiro vetor de movimento e o segundo vetor de movimento possam ser obtidos. Deve ser entendido que ambos a obtenção de um vetor de movimento preditor e o cálculo de um vetor de movimento pertencem à técnica anterior, e detalhes não são descritos aqui.
[00294] S403: o decodificador de vídeo 202 determina uma amostra de previsão do bloco corrente com base na primeira informação de mo- vimento e na segunda informação de movimento.
[00295] Opcionalmente, o decodificador de vídeo 202 determina o primeiro vetor de movimento e o segundo vetor de movimento em S402. Dessa forma, o decodificador de vídeo 202 pode determinar um primeiro bloco de imagem de referência com base no primeiro vetor de movi- mento, o valor de índice da primeira imagem de referência, e a primeira lista de imagens de referência, e determinar um segundo bloco de ima- gem de referência com base no segundo vetor de movimento, no valor de índice da segunda imagem de referência, e na segunda lista de ima- gens de referência. Ainda, o decodificador de vídeo 202 determina a amostra de previsão do bloco corrente com base no primeiro bloco de imagem de referência e no segundo bloco de imagem de referência. Em outras palavras, o decodificador de vídeo 202 conclui um processo de compensação de movimento.
[00296] Para um método usada pelo decodificador de vídeo 202 de- terminar a amostra de previsão do bloco corrente com base no primeiro bloco de imagem de referência e no segundo bloco de imagem de refe- rência, consulte qualquer método existente. Isso não é especificamente limitado nesta modalidade deste pedido.
[00297] No método de interpredição bidirecional fornecido nesta mo- dalidade deste pedido, o decodificador de vídeo 202 pode obter apenas a primeira informação de movimento do fluxo de bits codificado. Após obter a primeira informação de movimento, o decodificador de vídeo 202 calcula a segunda informação de movimento com base na primeira in- formação de movimento, e ainda determina a amostra de previsão do bloco corrente com base na primeira informação de movimento e na se- gunda informação de movimento. Em comparação com a técnica ante- rior, no método fornecido neste pedido, a informação de movimento de todos os blocos de imagens em todas as direções não precisa mais ser transmitida. Isso reduz efetivamente uma quantidade de informação de movimento transmitida, e melhora a utilização efetiva de recursos de transmissão, uma taxa de transmissão, e eficiência de compressão de codificação.
[00298] O método de interpredição bidirecional mostrado na Figura 4 é descrito para o bloco corrente, ou seja, pode ser entendido como realizar a interpredição no bloco corrente com base no modo AMVP.
[00299] É fácil entender que o método de interpredição bidirecional fornecido neste pedido também é aplicável a um modo de previsão de modelo de movimento não translacional, por exemplo, um modelo de movimento de transformação afim de 4 parâmetros, um modelo de mo- vimento de transformação afim de 6 parâmetros, ou um modelo de mo- vimento bilinear de 8 parâmetros. Neste cenário, o bloco corrente inclui pelo menos um sub-bloco, e a informação de movimento do bloco cor- rente inclui informação de movimento de cada de todos os sub-blocos do bloco corrente. Um método usado pelo decodificador de vídeo 202 determinando a informação de movimento (informação de movimento na primeira direção e informação de movimento na segunda direção) de cada sub-bloco é similar ao método usado pelo decodificador de vídeo 202 determinando a informação de movimento do bloco corrente.
[00300] No modo de previsão do modelo de movimento não transla- cional, o decodificador de vídeo 202 calcula um vetor de movimento do iésimo ponto de controle na segunda direção com base em um vetor de movimento do iésimo ponto de controle na primeira direção de acordo com a seguinte fórmula: 𝑃𝑂𝐶_𝐶𝑢𝑟−𝑃𝑂𝐶_𝑙𝑖𝑠𝑡𝑌 𝑚𝑣𝑖_𝑙𝑌 = × 𝑚𝑣𝑖_𝑙𝑋. 𝑃𝑂𝐶_𝐶𝑢𝑟−𝑃𝑂𝐶_𝑙𝑖𝑠𝑡𝑋
[00301] Nesta fórmula, 𝑚𝑣𝑖_𝑙𝑌 representa o vetor de movimento do iésimo ponto de controle na segunda direção, 𝑚𝑣𝑖_𝑙𝑋 representa o vetor de movimento do iésimo ponto de controle na primeira direção, 𝑃𝑂𝐶_𝐶𝑢𝑟 representa a contagens de ordem de imagem da imagem corrente, 𝑃𝑂𝐶_𝑙𝑖𝑠𝑡𝑌 representa a contagens de ordem de imagem da segunda imagem de referência, e 𝑃𝑂𝐶_𝑙𝑖𝑠𝑡𝑋 representa a contagens de ordem de imagem da primeira imagem de referência.
[00302] Correspondentemente, o decodificador de vídeo 202 calcula uma diferença do vetor de movimento do iésimo ponto de controle na se- gunda direção com base em uma diferença do vetor de movimento do iésimo ponto de controle na primeira direção de acordo com a seguinte fórmula: 𝑃𝑂𝐶_𝐶𝑢𝑟−𝑃𝑂𝐶_𝑙𝑖𝑠𝑡𝑌 𝑚𝑣𝑑𝑖_𝑙𝑌 = × 𝑚𝑣𝑑𝑖_𝑙𝑋. 𝑃𝑂𝐶_𝐶𝑢𝑟−𝑃𝑂𝐶_𝑙𝑖𝑠𝑡𝑋
[00303] Nesta fórmula, 𝑚𝑣𝑑𝑖_𝑙𝑌 representa a diferença do vetor de movimento do iésimo ponto de controle na segunda direção, 𝑚𝑣𝑑𝑖_𝑙𝑋 re- presenta a diferença do vetor de movimento do iésimo ponto de controle na primeira direção, 𝑃𝑂𝐶_𝐶𝑢𝑟 representa a contagens de ordem de ima- gem da imagem corrente, 𝑃𝑂𝐶_𝑙𝑖𝑠𝑡𝑌 representa a contagens de ordem de imagem da segunda imagem de referência, e 𝑃𝑂𝐶_𝑙𝑖𝑠𝑡𝑋 representa a contagens de ordem de imagem da primeira imagem de referência.
[00304] Correspondente ao decodificador de vídeo 202, nesta moda- lidade deste pedido, o codificador de vídeo 102 realiza a estimativa de movimento bidirecional no bloco corrente, determinar a informação de movimento do bloco corrente na primeira direção, e calcula a informação de movimento do bloco corrente na segunda direção com base na infor- mação de movimento do bloco corrente na primeira direção. Dessa forma, o codificador de vídeo 102 determina o bloco de imagem de pre- visão do bloco corrente com base na informação de movimento do bloco corrente na primeira direção e na informação de movimento do bloco corrente na segunda direção. Então, o codificador de vídeo 102 realiza as operações como transformada e quantização em um residual entre o bloco corrente e o bloco de imagem de previsão do bloco corrente para gerar o fluxo de bits, e envia o fluxo de bits ao decodificador de vídeo
202. O fluxo de bits inclui a informação de movimento do bloco corrente na primeira direção. Ainda, o fluxo de bits pode incluir a informação de indicação usada para indicar calcular a informação de movimento na segunda direção com base na informação de movimento na primeira direção.
[00305] Para um método em que "o codificador de vídeo 102 calcula a informação de movimento do bloco corrente na segunda direção com base na informação de movimento do bloco corrente na primeira dire- ção", consulte o método supracitado em que "o decodificador de vídeo 202 determina a segunda informação de movimento com base na pri- meira informação de movimento", ou seja, consulte as descrições em S402. Detalhes não são descritos neste pedido.
[00306] De acordo com o conteúdo descrito acima, um método de interpredição bidirecional na presente invenção pode ser obtida. Com referência à Figura 5A, o método inclui as seguintes etapas.
[00307] S500: obter um primeiro identificador de um fluxo de bits, onde um valor do primeiro identificador é um primeiro valor predefinido (incluindo, mas não limitado a, 1 ou 0).
[00308] Quando o valor do primeiro identificador é o primeiro valor predefinido, o primeiro identificador pode ser usado para indicar deter- minar um índice de imagem de referência i1 de uma primeira lista de imagens de referência como um primeiro índice de imagem de referên- cia que corresponde a um bloco corrente e que é da primeira lista de imagens de referência, e determinar um índice de imagem de referência i2 de uma segunda lista de imagens de referência como um segundo índice de imagem de referência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência.
[00309] Neste caso, um decodificador pode obter um índice de ima- gem de referência sem analisar o fluxo de bits, e o índice de imagem de referência não precisa ser transmitido no fluxo de bits. Deve ser enten- dido que S500 pode ocorrer antes de S501. Em alguns exemplos, S500 pode não ser usado como uma condição necessária de S501. Isso não é limitado em a presente invenção.
[00310] S501: Determinar o índice de imagem de referência i1 da pri- meira lista de imagens de referência como o primeiro índice de imagem de referência que corresponde ao bloco corrente e que é da primeira lista de imagens de referência, onde uma POC correspondente ao ín- dice de imagem de referência i1 é menor do que uma POC da imagem corrente, uma diferença obtida subtraindo a POC correspondente ao ín- dice de imagem de referência i1 da POC da imagem corrente é menor do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de referência ix da POC da imagem corrente, o índice de imagem de referência ix é qualquer índice de imagem de referência diferente do índice de imagem de referência i 1 em índices de imagem de referência da primeira lista de imagens de referência, e a POC cor- respondente ao índice de imagem de referência i x é menor do que a POC da imagem corrente. Para ser específico, a POC correspondente ao índice de imagem de referência i1 é uma POC, mais próxima à POC da imagem corrente, em todas as POCs que estão na primeira lista de imagens de referência e que são menores do que a POC da imagem corrente.
[00311] Exemplos são como segue:
[00312] Exemplo A:
[00313] A POC da imagem corrente em que o bloco corrente está localizado é 8, e a imagem corrente tem dois listas de imagens de refe- rência: L0 {2, 3, 5, 6} (onde 2, 3, 5, e 6 pode representar POCs de ima- gens de referência em L0) e L1 {9, 10, 11} (onde 9, 10, e 11 pode repre- sentar POCs de imagens de referência em L1).
[00314] Para L0, 2, 3, 5, e 6 são todos menores do que 8, mas 6 é mais próximo a 8 do que 2, 3, e 5. Um índice da imagem de referência correspondente a 6 em L0 é 3 (isto é, o quarto elemento na lista). Por- tanto, i1 = 3.
[00315] Exemplo B:
[00316] A POC da imagem corrente em que o bloco corrente está localizado é 7, e a imagem corrente tem duas listas de imagens de re- ferência: L0 {9, 10, 12} (onde 9, 10, e 12 pode representar POCs de imagens de referência em L0) e L1 {2, 4, 5} (onde 2, 4, e 5 pode repre- sentar POCs de imagens de referência em L1).
[00317] Opcionalmente, nenhuma POC que é menor do que 7 é en- contrada em L0. Neste caso, L1 pode ser pesquisada uma POC que é menor do que 7 e mais próxima a 7, e L0 é pesquisado uma POC que é maior do que 7 e mais próxima a 7 (para detalhes, consulte exemplo B em S502).
[00318] Para L1, 2, 4, e 5 são todos menores que 7, mas 5 é mais próximo a 7 do que 2 e 4. Um índice da imagem de referência corres- pondente a 5 em L0 é 2 (isto é, o terceiro elemento na lista). Portanto, i1 = 2.
[00319] Exemplo C:
[00320] A POC da imagem corrente em que o bloco corrente está localizado é 7, e a imagem corrente tem duas listas de imagens de re- ferência: L0 {2, 4, 5, 8} (onde 2, 4, 5, e 8 pode representar POCs de imagens de referência em L0) e L1 {6, 9, 10} (onde 6, 9, e 10 pode re- presentar POCs de imagens de referência em L1).
[00321] Para L0, 2, 4, e 5 são todos menores que 7, mas 5 é mais próximo a 7 do que 2 e 4. Um índice da imagem de referência corres- pondente a 5 em L0 é 2 (isto é, o terceiro elemento na lista). Portanto, i1 = 2.
[00322] S502: Determinar o índice de imagem de referência i2 da se- gunda lista de imagens de referência como o segundo índice de imagem de referência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência, onde uma POC correspondente ao ín- dice de imagem de referência i2 é maior do que a POC da imagem cor- rente, uma diferença obtida subtraindo a POC correspondente ao índice de imagem de referência i2 da POC da imagem corrente é maior do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de referência iy da POC da imagem corrente, o índice de imagem de referência iy é qualquer índice de imagem de referência di- ferente do índice de imagem de referência i2 nos índices de imagem de referência da segunda lista de imagens de referência, e a POC corres- pondente ao índice de imagem de referência iy é maior do que a POC da imagem corrente. Para ser específico, a POC correspondente ao ín- dice de imagem de referência i2 é uma POC, mais próxima à POC da imagem corrente, em todas as POCs que estão na segunda lista de imagens de referência e que são maiores do que a POC da imagem corrente.
[00323] As listas de imagens de referência em S501 ainda são usa- das como um exemplo.
[00324] Exemplo A:
[00325] Para L1, 9, 10, e 11 são todos maiores que 8, mas 9 é mais próximo a 8 do que 10 e 11. Um índice da imagem de referência corres- pondente a 9 em L1 é 0 (isto é, o primeiro elemento na lista). Portanto, i2 = 0.
[00326] Exemplo B:
[00327] Para L0, 9, 10, e 12 são todos maiores que 7, mas 9 é mais próximo a 7 do que 10 e 12. Um índice da imagem de referência corres- pondente a 9 em L0 é 0 (isto é, o primeiro elemento na lista). Portanto, i2 = 0.
[00328] Exemplo C:
[00329] A POC da imagem corrente em que o bloco corrente está localizado é 7, e a imagem corrente tem duas listas de imagens de re- ferência: L0 {2, 4, 5, 8} (onde 2, 4, 5, e 8 pode representar POCs de imagens de referência em L0) e L1 {6, 9, 10} (onde 6, 9, e 10 pode re- presentar POCs de imagens de referência em L1).
[00330] Para L1, 9 e 10 são ambas maiores do que 7, mas 9 é mais próximo a 7 do que 10. Um índice da imagem de referência correspon- dente a 9 em L1 é 1 (isto é, o segundo elemento na lista). Portanto, i2 =
1.
[00331] Deve ser entendido que uma sequência para realizar S501 e S502 não é limitada neste pedido, e uma relação de sequência de tempo na figura é meramente um exemplo.
[00332] Deve ser entendido que, em uma possível implementação específica, elementos em uma lista de imagens de referência podem ser algumas marcas, incluindo, mas não limitado a, contagens de ordem de imagem POCs de imagens de referência. Uma contagem de ordem de imagem pode corresponder a uma imagem de referência específica e/ou um índice de uma localização da imagem de referência na lista de ima- gens de referência, ou seja, um índice de imagem de referência. Em uma possível implementação específica, elementos em uma lista de imagens de referência podem ser imagens (imagens de referência). Uma imagem pode corresponder a uma POC específica e um índice de uma localização da imagem na lista de imagens de referência, ou seja, um índice de imagem de referência.
[00333] Deve ser entendido que, S501 e S502 fornecem um método para determinar um índice de imagem de referência de um bloco cor- rente. Para ser específico, um fluxo de bits não precisa ser analisado, mas o índice de imagem de referência do bloco corrente é determinado de acordo com algumas condições de restrição. As condições de restri- ção fornecidas na presente invenção são meramente um exemplo para descrição, e não constituem uma limitação. Em um processo de imple- mentação específico, pode haver variações das condições de restrição ou podem haver mais outras condições de restrição, por exemplo, algu- mas condições de restrição na evolução padrão, que não são exausti- vamente enumeradas na presente invenção.
[00334] Deve ser entendido que uma sequência de L0 e L1 não cons- titui uma limitação, ou seja, uma relação de sequência entre a primeira lista de imagens de referência e a segunda lista de imagens de referên- cia não deve constituir uma limitação. A primeira lista de imagens de referência pode corresponder a uma primeira direção, e a segunda lista de imagens de referência pode corresponder a uma segunda direção. A primeira direção e a segunda direção podem ser respectivamente uma direção de avanço e uma direção de retorno, ou uma direção de retorno e uma direção de avanço, ou ambas a primeira direção e a segunda direção podem ser direções de avanço ou direções de retorno. A direção pode ainda ser entendida como uma sequência de tempo, e não é limi- tada na presente invenção.
[00335] A presente invenção ainda fornece uma política para deter- minar uma imagem de referência (ou um índice). L0 é primeiro pesqui- sado por uma imagem de referência (ou o índice de imagem de referên- cia i1) com uma POC de avanço mais próxima, e então L1 é pesquisado por uma imagem de referência (ou o índice de imagem de referência i2) com uma POC de retorno mais próxima. Se uma das imagens de refe- rência não for encontrada ou nenhuma das imagens de referência for encontrada, L1 pode ser primeiro pesquisado por uma imagem de refe- rência (ou o índice de imagem de referência i2) com uma POC de avanço mais próxima, e então L0 é pesquisado por uma imagem de referência (ou o índice de imagem de referência i1) com uma POC de retorno mais próxima.
[00336] O primeiro índice de imagem de referência e o segundo ín- dice de imagem de referência correspondem às imagens de referência em que blocos de referência ideais do bloco corrente estão localizados, ou seja, ref_idx_l0 e ref_idx_l1, ou ref_idx_l1 e ref_idx_l0.
[00337] Opcionalmente, para outra implementação, consulte o mé-
todo de determinação de índice de imagem de referência em S400. De- talhes não são descritos aqui novamente.
[00338] S503: Prever o bloco corrente com base no primeiro índice de imagem de referência e no segundo índice de imagem de referência, onde a imagem corrente inclui o bloco corrente.
[00339] Opcionalmente, o método ainda inclui: obter um primeiro vetor de movimento previsto e um segundo vetor de movimento previsto; determinar um primeiro vetor de movimento com base no primeiro vetor de movimento previsto e uma primeira diferença de vetor de movimento; e determinar um segundo vetor de movimento com base no segundo vetor de movimento previsto e na segunda diferença de vetor de movimento.
[00340] Correspondentemente, a previsão do bloco corrente com base no primeiro índice de imagem de referência e no segundo índice de imagem de referência pode incluir: prever o bloco corrente com base no primeiro índice de imagem de referência, no segundo índice de ima- gem de referência, na primeira lista de imagens de referência, na se- gunda lista de imagens de referência, no primeiro vetor de movimento, e no segundo vetor de movimento. Nesta etapa, um método de previsão comum na técnica anterior pode ser usado.
[00341] Em uma possível implementação, quando o primeiro identifi- cador é o primeiro valor predefinido, o primeiro identificador é ainda usado para indicar a determinação a segunda diferença de vetor de mo- vimento do bloco corrente com base na primeira diferença de vetor de movimento do bloco corrente. Neste caso, a segunda diferença de vetor de movimento pode ser derivada com base na primeira diferença de ve- tor de movimento, e a segunda diferença de vetor de movimento não precisa ser transmitida em um fluxo de bits, assim reduzindo o fluxo de bits. Neste caso, a primeira diferença de vetor de movimento do bloco corrente pode ser primeiro obtida, e a segunda diferença de vetor de movimento do bloco corrente é obtida com base na primeira diferença de vetor de movimento de acordo com a seguinte fórmula: mvd_lY = −mvd_lX.
[00342] Aqui, mvd_lY representa a segunda diferença de vetor de mo- vimento, mvd_lX representa a primeira diferença de vetor de movimento, uma dentre a primeira diferença de vetor de movimento e a segunda diferença de vetor de movimento pertence à informação de movimento correspondente à primeira lista de imagens de referência, e a outra da primeira diferença de vetor de movimento e a segunda diferença de ve- tor de movimento pertence à informação de movimento correspondente à segunda lista de imagens de referência.
[00343] Em conclusão, de acordo com o método de interpredição bi- direcional fornecido neste pedido, durante a interpredição bidirecional, informação de movimento de todos os bloco de imagens em todos os direções não precisa ser transmitida, mas apenas a informação de mo- vimento em uma direção específica precisa ser transmitida. Isso reduz efetivamente uma quantidade de transmitida informação de movimento, e melhora a utilização efetiva de recursos de transmissão, uma taxa de transmissão, e a eficiência de compressão de codificação.
[00344] Uma modalidade deste pedido fornece um dispositivo de in- terpredição bidirecional. O dispositivo de interpredição bidirecional pode ser um decodificador de vídeo. Especificamente, o dispositivo de interpredição bidirecional é configurado para realizar as etapas realiza- das pelo decodificador de vídeo 202 no método supracitado de interpre- dição bidirecional. O dispositivo de interpredição bidirecional fornecido nesta modalidade deste pedido pode incluir módulos para as etapas cor- respondentes.
[00345] Nas modalidades deste pedido, o dispositivo de interpredi- ção bidirecional pode ser dividido em módulos de função com base nos exemplos do método supracitados. Por exemplo, cada módulo de fun- ção pode ser obtido através da divisão com base em uma função cor- respondente, ou duas ou mais funções podem ser integradas em um módulo de processamento. O módulo integrado pode ser implementado em uma forma de hardware, ou pode ser implementado em uma forma de um módulo de função de software. Nas modalidades deste pedido, a divisão em módulos é um exemplo, e é meramente divisão de função lógica. Pode haver outra maneira de divisão na implementação real.
[00346] Quando cada módulo de função é obtido através da divisão com base em uma função correspondente, a Figura 5B é um possível diagrama estrutural esquemático do dispositivo de interpredição bidire- cional nas modalidades supracitadas. Conforme mostrado na Figura 5B, o dispositivo de interpredição bidirecional 5 inclui uma unidade de ob- tenção 50 e uma unidade de determinação 51.
[00347] A unidade de obtenção 50 é configurada para suportar o dis- positivo de interpredição bidirecional ao realizar S400, S401, e similar na modalidade supracitada, e/ou outro processo de tecnologia descrito neste relatório descritivo.
[00348] A unidade de determinação 51 é configurada para suportar o dispositivo de interpredição bidirecional ao realizar S402, S403, e simi- lar na modalidade supracitada, e/ou outro processo do tecnologia des- crito neste relatório descritivo.
[00349] Todo o conteúdo relacionado das etapas nas modalidades do método supracitadas pode ser citado nas descrições de funções dos módulos de função correspondentes, e detalhes não são descritos aqui novamente.
[00350] Certamente, o dispositivo de interpredição bidirecional for- necido nesta modalidade deste pedido inclui, mas não é limitado a, mó- dulos supracitados. Por exemplo, o dispositivo de interpredição bidire- cional pode ainda incluir uma unidade de armazenamento 52.
[00351] A unidade de armazenamento 52 pode ser configurada para armazenar código de programa e dados do dispositivo de interpredição bidirecional.
[00352] Correspondente ao método na Figura 5A, em um exemplo opcional, a presente invenção pode ainda fornecer um dispositivo de interpredição bidirecional 5000. Com referência à Figura 5C, o disposi- tivo inclui: uma unidade de determinação 5002, configurada para determinar um índice de imagem de referência i1 de uma primeira lista de imagens de referência como um primeiro índice de imagem de referência que cor- responde a um bloco corrente e que é da primeira lista de imagens de referência, onde uma POC correspondente ao índice de imagem de re- ferência i1 é menor do que uma POC da imagem corrente, uma diferença obtida subtraindo a POC correspondente ao índice de imagem de refe- rência i1 da POC da imagem corrente é menor do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de referência ix da POC da imagem corrente, o índice de imagem de refe- rência ix é qualquer índice de imagem de referência diferente do índice de imagem de referência i1 em índices de imagem de referência da pri- meira lista de imagens de referência, e a POC correspondente ao índice de imagem de referência ix é menor do que a POC da imagem corrente, onde a unidade de determinação 5002 é ainda configurada para determinar um índice de imagem de referência i2 de uma segunda lista de imagens de referência como um segundo índice de imagem de referência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência, onde uma POC correspondente ao índice de imagem de re- ferência i2 é maior do que a POC da imagem corrente, uma diferença obtida subtraindo a POC correspondente ao índice de imagem de refe- rência i2 de a POC da imagem corrente é maior do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de referência iy da POC da imagem corrente, o índice de imagem de refe- rência iy é qualquer índice de imagem de referência diferente do índice de imagem de referência i2 nos índices de imagem de referência da se- gunda lista de imagens de referência, e a POC correspondente ao índice de imagem de referência iy é maior do que a POC da imagem corrente; e uma unidade de processamento de interpredição 5003, configurada para prever o bloco corrente com base no primeiro índice de imagem de referência e no segundo índice de imagem de referência, onde a ima- gem corrente inclui o bloco corrente.
[00353] Opcionalmente, o dispositivo ainda inclui uma unidade de ob- tenção 5001, configurada para obter um primeiro identificador, onde um valor do primeiro identificador é um primeiro valor predefinido, e quando o valor do primeiro identificador é o primeiro valor predefinido, o primeiro identificador é usado para indicar a determinação o índice de imagem de referência i1 da primeira lista de imagens de referência como o pri- meiro índice de imagem de referência que corresponde ao bloco cor- rente e que é da primeira lista de imagens de referência, e determinar o índice de imagem de referência i2 da segunda lista de imagens de refe- rência como o segundo índice de imagem de referência que corres- ponde ao bloco corrente e que é da segunda lista de imagens de refe- rência.
[00354] Opcionalmente, quando o primeiro identificador for o primeiro valor predefinido, o primeiro identificador é ainda usado para indicar a determinação uma segunda diferença de vetor de movimento do bloco corrente com base em uma primeira diferença de vetor de movimento do bloco corrente; a unidade de obtenção é ainda configurada para obter a primeira diferença de vetor de movimento do bloco corrente; e a uni-
dade de determinação é ainda configurada para obter a segunda dife- rença de vetor de movimento do bloco corrente com base na primeira diferença de vetor de movimento de acordo com a seguinte fórmula: mvd_lY = −mvd_lX.
[00355] Aqui, mvd_lY representa a segunda diferença de vetor de mo- vimento, mvd_lX representa a primeira diferença de vetor de movimento, um da primeira diferença de vetor de movimento e a segunda diferença de vetor de movimento corresponde à primeira lista de imagens de re- ferência, e a outra da primeira diferença de vetor de movimento e a se- gunda diferença de vetor de movimento corresponde à segunda lista de imagens de referência.
[00356] Opcionalmente, a unidade de obtenção 5001 é especifica- mente configurada para obter um primeiro vetor de movimento previsto e um segundo vetor de movimento previsto; a unidade de determinação 5002 é ainda configurada para: determinar um primeiro vetor de movi- mento com base no primeiro vetor de movimento previsto e na primeira diferença de vetor de movimento, e determinar um segundo vetor de movimento com base no segundo vetor de movimento previsto e na se- gunda diferença de vetor de movimento; e correspondentemente, a uni- dade de processamento de interpredição 5003 é especificamente con- figurada para prever o bloco corrente com base no primeiro índice de imagem de referência, no segundo índice de imagem de referência, na primeira lista de imagens de referência, na segunda lista de imagens de referência, no primeiro vetor de movimento, e no segundo vetor de mo- vimento.
[00357] A unidade de obtenção 5001 pode ser configurada para rea- lizar o método relacionado mencionado em S500 no exemplo supraci- tado e um método que pode ser usado para substituição equivalente. A unidade de determinação 5002 pode ser configurada para realizar o mé-
todo relacionado mencionado em S501 e/ou S502 no exemplo supraci- tado e um método que pode ser usado para substituição equivalente. A unidade de obtenção 5001, a unidade de determinação 5002, e a uni- dade de processamento de interpredição 5003 podem ser configuradas para realizar o método relacionado mencionado em S503 no exemplo supracitado e um método que pode ser usado para substituição equiva- lente. A unidade de obtenção 5001, a unidade de determinação 5002, e a unidade de processamento de interpredição 5003 podem ser imple- mentadas por um processador invocando uma instrução de programa correspondente em uma memória.
[00358] Deve ser entendido que os exemplos específicos do método supracitado, explicações e descrições de características técnicas nas modalidades, e extensões de uma pluralidade de implementações são ainda aplicáveis à execução do método correspondente no dispositivo, e detalhes não são descritos nas modalidades do dispositivo.
[00359] Quando uma unidade integrada é usada, a Figura 6A é um diagrama estrutural esquemático de um dispositivo de interpredição bi- direcional de acordo com uma modalidade deste pedido. Na Figura 6A, o dispositivo de interpredição bidirecional 6 inclui um módulo de pro- cessamento 60 e um módulo de comunicações 61. O módulo de pro- cessamento 60 é configurado para controlar e gerenciar uma ação do dispositivo de interpredição bidirecional, por exemplo, realizar os méto- dos ou as etapas realizadas pela unidade de obtenção 50 e pela uni- dade de determinação 51 e os métodos ou etapas realizadas pela uni- dade de obtenção 5001, pela unidade de determinação 5002, e pela unidade de processamento de interpredição 5003, e/ou outro processo do tecnologia descrito neste relatório descritivo. O módulo de comuni- cações 61 é configurado para suportar a interação entre o dispositivo de interpredição bidirecional e outro dispositivo. Conforme mostrado na Fi- gura 6A, o dispositivo de interpredição bidirecional pode ainda incluir um módulo de armazenamento 62. O módulo de armazenamento 62 é configurado para armazenar código de programa e dados do dispositivo de interpredição bidirecional, por exemplo, armazenar o conteúdo ar- mazenado pela unidade de armazenamento 52.
[00360] O módulo de processamento 60 pode ser um processador ou um controlador, por exemplo, pode ser uma unidade de processa- mento central (Central Processing Unit, CPU), um processador de uso geral, um processador de sinal digital (Digital Signal Processor, DSP), um ASIC, um FPGA ou outro dispositivo de lógica programável, um dis- positivo de lógica de transistor, um componente de hardware ou qual- quer combinação dos mesmos. O processador ou o controlador pode implementar ou executar vários blocos lógicos, módulos e circuitos de exemplo descritos com referência ao conteúdo divulgado neste pedido. O processador pode, alternativamente, ser uma combinação de proces- sadores que implementam uma função de computação, por exemplo, uma combinação de um ou mais microprocessadores ou uma combina- ção de um DSP e um microprocessador. O módulo de comunicação 61 pode ser um transceptor, um circuito de RF, uma interface de comunica- ção ou semelhante. O módulo de armazenamento 62 pode ser uma me- mória.
[00361] Todo o conteúdo relacionado dos cenários nas modalidades de método anteriores pode ser citado na descrição da função dos mó- dulos de função correspondentes. Os detalhes não são descritos aqui novamente.
[00362] Ambos o dispositivo de interpredição bidirecional 5 e o dis- positivo de interpredição bidirecional 6 podem realizar o método supra- citado (como, mas não limitado ao método de interpredição bidirecional mostrado na Figura 4). O dispositivo de interpredição bidirecional 5 e o dispositivo de interpredição bidirecional 6 podem ser especificamente dispositivos de decodificação de vídeo ou outros dispositivos com uma função de codificação de vídeo. O dispositivo de interpredição bidireci- onal 5 e o dispositivo de interpredição bidirecional 6 podem ser confi- gurados para realizar a previsão de imagem em um processo de deco- dificação.
[00363] Este pedido fornece ainda um terminal. O terminal inclui um ou mais processadores, uma memória e uma interface de comunicação. A memória e a interface de comunicação são acopladas a um ou mais processadores. A memória está configurada para armazenar códigos de programas de computador. O código do programa de computador inclui uma instrução. Quando um ou mais processadores executam a instru- ção, o terminal executa o método de interpredição bidirecional nas mo- dalidades deste pedido.
[00364] O terminal aqui pode ser um dispositivo de exibição de vídeo, um smartphone, um computador portátil ou outro dispositivo que pode processar ou reproduzir um vídeo.
[00365] Este pedido fornece ainda um decodificador de vídeo, inclu- indo um meio de armazenamento não volátil e uma unidade de proces- samento central. O meio de armazenamento não volátil armazena um programa executável. A unidade de processamento central é conectada ao meio de armazenamento não volátil e executa o programa executável para realizar o método de interpredição bidirecional nas modalidades deste pedido.
[00366] Este pedido ainda fornece um decodificador. O decodificador inclui o dispositivo de interpredição bidirecional (o dispositivo de inter- predição bidirecional 5 ou o dispositivo de interpredição bidirecional 6) nas modalidades deste pedido, e um módulo de reconstrução. O módulo de reconstrução é configurada para determinar um valor de amostra re- construído de um bloco corrente com base em a amostra de previsão obtida pelo dispositivo de interpredição bidirecional.
[00367] Outra modalidade deste aplicativo fornece ainda um meio de armazenamento legível por computador. O meio de armazenamento le- gível por computador inclui uma ou mais partes do código do programa. O um ou mais programas incluem uma instrução. Quando um proces- sador de um terminal executa o código do programa, o terminal executa o método de interpredição bidirecional mostrado nos exemplos de mé- todos anteriores (tais como, mas não se limitando à Figura 4 ou Figura 5A).
[00368] Em outra modalidade deste aplicativo, um produto de pro- grama de computador é ainda fornecido. O produto de programa de computador inclui uma instrução executável por computador. A instrução executável por computador é armazenada em um meio de armazena- mento legível por computador. Pelo menos um processador de um ter- minal pode ler a instrução executável por computador a partir do meio de armazenamento legível por computador. O pelo menos um proces- sador executa a instrução executável por computador, para permitir que o terminal execute os métodos anteriores (tais como, mas não se limi- tando ao método de interpredição bidirecional mostrado na Figura 4 ou Figura 5A), e métodos ou etapas que podem ser implementado pelo de- codificador de vídeo 202.
[00369] A Figura 6B é um diagrama de blocos simplificado de um dis- positivo que pode ser usado como um ou dois do dispositivo de origem 10 e o dispositivo de destino 20 na Figura 1 de acordo com uma moda- lidade de exemplo. O dispositivo 555 pode implementar as tecnologias desta aplicação. Em outras palavras, a Figura 6B é um diagrama de blocos esquemático de uma implementação de um dispositivo de codi- ficação ou um dispositivo de decodificação (brevemente referido como um dispositivo de codificação 555) de acordo com uma modalidade deste aplicativo. O dispositivo de codificação 555 pode incluir um pro- cessador 510, uma memória 530 e um sistema de barramento 550. O processador e a memória são conectados através do sistema de barra- mento. A memória está configurada para armazenar uma instrução. O processador está configurado para executar a instrução armazenada na memória. A memória do dispositivo de codificação armazena o código do programa e o processador pode invocar o código do programa arma- zenado na memória para realizar vários métodos de codificação ou de- codificação de imagem de vídeo descritos neste pedido, especialmente a codificação de vídeo ou métodos de decodificação em vários modos de interpredição ou modos de intraprevisão. Para evitar a repetição, os detalhes não são descritos aqui novamente.
[00370] O seguinte descreve a aplicação do método de codificação e o método de decodificação mostrado nas modalidades anteriores e um sistema usando o método de codificação e o método de decodifica- ção.
[00371] A Figura 7 é um diagrama em blocos de um sistema 3100 de fornecimento de conteúdo que implementa um serviço de distribuição de conteúdo. O sistema de fornecimento de conteúdo 3100 inclui um dispositivo de captura 3102, um dispositivo de terminal 3106 e, opcio- nalmente, um visor 3126. O dispositivo de captura 3102 se comunica com o dispositivo de terminal 3106 por meio de um link de comunicação
3104. O link de comunicação pode incluir um canal de comunicação 13. A comunicação o link 3104 inclui, mas não está limitado a Wi-Fi, Ether- net, uma conexão com fio, uma conexão sem fio (3G / 4G / 5G), um USB ou qualquer tipo de combinação dos mesmos.
[00372] O dispositivo de captura 3102 gera dados e pode codificar os dados de acordo com o método de codificação mostrado nas modalida- des anteriores. Alternativamente, o dispositivo de captura 3102 pode distribuir os dados para um servidor de streaming (não mostrado na fi- gura), e o servidor codifica os dados e transmite os dados codificados para o dispositivo terminal 3106. O dispositivo de captura 3102 inclui,
mas não está limitado a uma câmera, um smartphone ou um computa- dor tablet, um computador ou um computador notebook, um sistema de videoconferência, um PDA, um dispositivo montado em um veículo ou qualquer combinação dos mesmos. Por exemplo, o dispositivo de cap- tura 3102 pode incluir o dispositivo de origem 10 descrito acima. Quando os dados incluem um vídeo, o codificador de vídeo 102 incluído no dis- positivo de captura 3102 pode realmente codificar o vídeo. Quando os dados incluem áudio (ou seja, voz), um codificador de áudio incluído no dispositivo de captura 3102 pode realmente codificar o áudio. Em alguns cenários reais, o dispositivo de captura 3102 distribui dados de vídeo codificados e dados de áudio codificados multiplexando os dados de vídeo codificados e os dados de áudio codificados. Em outro cenário real, por exemplo, em um sistema de videoconferência, os dados de áudio codificados e os dados de vídeo codificados não são multiplexa- dos. O dispositivo de captura 3102 distribui separadamente os dados de áudio codificados e os dados de vídeo codificados para o dispositivo terminal 3106.
[00373] No sistema de fornecimento de conteúdo 3100, o dispositivo terminal 3106 recebe e reproduz os dados codificados. O dispositivo ter- minal 3106 pode ser um dispositivo com capacidade de recepção e re- cuperação de dados, por exemplo, um smartphone ou computador ta- blet 3108, um computador ou notebook 3110, um gravador de vídeo em rede (network video recorder, NVR) / gravador de vídeo digital (digital video recorder, DVR) 3112, uma TV 3114, um decodificador (set top box, STB) 3116, um sistema de videoconferência 3118, um sistema de vigi- lância por vídeo 3120, um assistente digital pessoal (personal digital as- sistant, PDA) 3122, um veículo - dispositivo montado 3124 ou qualquer combinação dos dispositivos anteriores que podem decodificar os da- dos codificados. Por exemplo, o dispositivo terminal 3106 pode incluir o dispositivo de destino 20 descrito acima. Quando os dados codificados incluem um vídeo, um decodificador de vídeo 202 incluído no dispositivo terminal é priorizado para realizar a decodificação de vídeo. Quando os dados codificados incluem áudio, um decodificador de áudio incluído no dispositivo terminal é priorizado para realizar a decodificação de áudio.
[00374] Para um dispositivo terminal com uma tela, por exemplo, um smartphone ou computador tablet 3108, um computador ou notebook 3110, um gravador de vídeo em rede (network video recorder, NVR) / gravador de vídeo digital (digital video recorder, DVR) 3112, a TV 3114, um assistente digital pessoal (personal digital assistant, PDA) 3122 ou um dispositivo montado em um veículo 3124, o dispositivo terminal pode alimentar dados decodificados para a tela do dispositivo terminal. Para um dispositivo terminal sem um visor, por exemplo, um STB 3116, um sistema de videoconferência 3118 ou um sistema de vigilância por vídeo 3120, um visor externo 3126 é conectado ao dispositivo terminal para receber e exibir dados decodificados.
[00375] Quando cada dispositivo no sistema executa codificação ou decodificação, o dispositivo de codificação de imagem ou o dispositivo de decodificação de imagem mostrado nas modalidades anteriores po- dem ser usados.
[00376] A Figura 8 é um diagrama de um exemplo de estrutura do dispositivo terminal 3106. Após o dispositivo terminal 3106 receber um fluxo do dispositivo de captura 3102, uma unidade de processamento de protocolo 3202 analisa um protocolo de transporte do fluxo. O proto- colo inclui, mas não está limitado a um protocolo de streaming em tempo real (Real-Time Streaming Protocol, RTSP), um protocolo de transferên- cia de hipertexto (Hypertext Transfer Protocol, HTTP), um protocolo de streaming HTTP ao vivo (HTTP Live streaming protocol, HLS), um MPEG-DASH, um protocolo de transporte em tempo real (Real-time Transport protocol, RTP), um protocolo de mensagens em tempo real (Real-Time Messaging Protocol, RTMP) ou qualquer combinação dos mesmos.
[00377] Depois de processar o fluxo, a unidade de processamento de protocolo 3202 gera um arquivo de fluxo. O arquivo é enviado para uma unidade de demultiplexação 3204. A unidade de demultiplexação 3204 pode dividir dados multiplexados em dados de áudio codificados e dados de vídeo codificados. Conforme descrito acima, em outro cenário real, por exemplo, em um sistema de videoconferência, os dados de áudio codificados e os dados de vídeo codificados não são multiplexa- dos. Neste caso, os dados codificados são transmitidos para um deco- dificador de vídeo 3206 e um decodificador de áudio 3208 sem serem transmitidos através da unidade de demultiplexação 3204.
[00378] A demultiplexação é executada para gerar um fluxo elemen- tar de vídeo (elementary stream, ES), um ES de áudio e legendas opci- onais. O decodificador de vídeo 3206 inclui o decodificador de vídeo 202 descrito nas modalidades anteriores, decodifica o ES de vídeo de acordo com o método de decodificação mostrado nas modalidades an- teriores para gerar uma imagem de vídeo e alimenta esses dados para uma unidade de sincronização 3212. O decodificador de áudio 3208 de- codifica o ES de áudio para gerar uma imagem de áudio e alimentar esses dados para a unidade de sincronização 3212. Alternativamente, a imagem de vídeo pode ser armazenada em um buffer (não mostrado na Figura 8) antes que a imagem de vídeo seja alimentada para a uni- dade de sincronização 3212. Da mesma forma, a imagem de áudio pode ser armazenada no buffer (não mostrado na Figura 8) antes que a ima- gem de áudio seja alimentada para a unidade de sincronização 3212.
[00379] A unidade de sincronização 3212 sincroniza a imagem de ví- deo e a imagem de áudio e fornece um vídeo / áudio para uma exibição de vídeo / áudio 3214. Por exemplo, a unidade de sincronização 3212 sincroniza a apresentação de informações de vídeo e informações de áudio. As informações podem ser codificadas sintaticamente usando um carimbo de data / hora relacionado à apresentação de dados de áudio e visuais codificados e um carimbo de data / hora relacionado à trans- missão de um fluxo de dados.
[00380] Se as legendas forem incluídas no fluxo, um decodificador de legenda 3210 decodifica as legendas para sincronizar as legendas com a imagem de vídeo e a imagem de áudio e fornece o vídeo / áudio / legendas para uma exibição de vídeo / áudio / legenda 3216.
[00381] A presente invenção não está limitada ao sistema anterior, e o dispositivo de codificação de imagem ou o dispositivo de decodifica- ção de imagem nas modalidades anteriores podem ser combinados em outro sistema, por exemplo, um sistema automotivo.
[00382] Todas ou algumas das modalidades anteriores podem ser implementadas usando software, hardware, firmware ou qualquer com- binação dos mesmos. Quando um programa de software é usado para implementar as modalidades, as modalidades podem ser implementa- das completa ou parcialmente na forma de um produto de programa de computador. O produto do programa de computador inclui uma ou mais instruções de computador. Quando as instruções do programa de com- putador são carregadas e executadas em um computador, os procedi- mentos ou funções de acordo com as modalidades desta aplicação são gerados total ou parcialmente.
[00383] O computador pode ser um computador de uso geral, um computador dedicado, uma rede de computadores ou outro dispositivo programável. As instruções de computador podem ser armazenadas em um meio de armazenamento legível por computador ou podem ser transmitidas de um meio de armazenamento legível por computador para outro meio de armazenamento legível por computador. Por exem- plo, as instruções do computador podem ser transmitidas de um site, computador, servidor ou centro de dados para outro site, computador, servidor ou centro de dados com fio (por exemplo, um cabo coaxial, uma fibra óptica ou um assinante digital linha (DSL)) ou sem fio (por exemplo, infravermelho, rádio ou micro-ondas). O meio de armazenamento legí- vel por computador pode ser qualquer meio utilizável acessível por um computador ou um dispositivo de armazenamento de dados, como um servidor ou um centro de dados, integrando um ou mais meios utilizá- veis. O meio utilizável pode ser um meio magnético (por exemplo, um disquete, um disco rígido ou uma fita magnética), um meio óptico (por exemplo, um DVD), um meio semicondutor (por exemplo, uma unidade de estado sólido Solid-State Drive (SSD)), ou semelhante.
[00384] As descrições anteriores sobre as implementações permitem que uma pessoa versada na técnica entenda claramente que, para o propósito de uma descrição breve e conveniente, a divisão em apenas os módulos de função anteriores é usada como um exemplo para ilus- tração. No pedido real, as funções anteriores podem ser alocadas a di- ferentes módulos de função para implementação com base em um re- quisito, isto é, uma estrutura interna de um dispositivo é dividida em di- ferentes módulos de função para implementar todas ou algumas das funções descritas acima.
[00385] Nas várias modalidades fornecidas neste pedido, deve ser entendido que o dispositivo e método divulgados podem ser implemen- tados de outras maneiras. Por exemplo, as modalidades de dispositivo descritas são meramente exemplos. Por exemplo, a divisão em módulos ou unidades é meramente uma divisão de função lógica. Pode haver outra forma de divisão na implementação real. Por exemplo, uma plura- lidade de unidades ou componentes podem ser combinados ou podem ser integrados em outro dispositivo, ou alguns recursos podem ser ig- norados ou não ser executados. Além disso, os acoplamentos mútuos ou acoplamentos diretos ou conexões de comunicação exibidos ou dis- cutidos podem ser implementados usando algumas interfaces. Os aco- plamentos indiretos ou conexões de comunicação entre os dispositivos ou unidades podem ser implementados de forma eletrônica, mecânica ou de outra forma.
[00386] As unidades descritas como componentes separados podem ou não ser fisicamente separadas, e os componentes exibidos como unidades podem ser uma ou mais unidades físicas, isto é, podem estar localizados em um lugar ou podem ser distribuídos em uma pluralidade de lugares diferentes. Algumas ou todas as unidades podem ser seleci- onadas com base nos requisitos reais para atingir os objetivos das so- luções das modalidades.
[00387] Além disso, as unidades de função nas modalidades deste aplicativo podem ser integradas em uma unidade de processamento, ou cada uma das unidades pode existir sozinha fisicamente, ou duas ou mais unidades podem ser integradas em uma unidade. A unidade inte- grada pode ser implementada na forma de hardware ou pode ser imple- mentada na forma de uma unidade de função de software.
[00388] Quando a unidade integrada é implementada na forma de uma unidade de função de software e vendida ou usada como um pro- duto independente, a unidade integrada pode ser armazenada em um meio de armazenamento legível. Com base em tal entendimento, as so- luções técnicas nas modalidades deste pedido essencialmente, ou a parte que contribui para a técnica anterior, ou todas ou algumas das soluções técnicas podem ser implementadas na forma de um produto de software. O produto de software é armazenado em um meio de ar- mazenamento e inclui várias instruções para instruir um dispositivo (que pode ser um microcomputador de chip único, um chip ou semelhante) ou um processador (processor) para executar todas ou algumas das etapas dos métodos descritos nas modalidades deste pedido. O meio de armazenamento anterior inclui qualquer meio que possa armazenar o código do programa, como uma unidade flash USB, um disco rígido removível, uma memória somente leitura (Read-Only Memory, ROM),
uma memória de acesso aleatório (Random Access Memory, RAM), um disco magnético ou um disco óptico.
[00389] As descrições anteriores são apenas implementações espe- cíficas deste aplicativo, mas não se destinam a limitar o escopo de pro- teção deste aplicativo. Qualquer variação ou substituição dentro do es- copo técnico divulgado neste pedido deve cair dentro do escopo de pro- teção deste pedido. Portanto, o escopo de proteção deste pedido estará sujeito ao escopo de proteção das reivindicações.

Claims (15)

REIVINDICAÇÕES
1. Método de interpredição bidirecional, caracterizado pelo fato de que compreende: determinar um índice de imagem de referência i1 de uma primeira lista de imagens de referência como um primeiro índice de imagem de refe- rência que corresponde a um bloco corrente e que é da primeira lista de imagens de referência, em que uma contagens de ordem de imagem POC, correspondente ao índice de imagem de referência i 1 é menor do que uma POC de uma imagem corrente, uma diferença obtida subtra- indo a POC correspondente ao índice de imagem de referência i1 da POC da imagem corrente é menor do que uma diferença obtida subtra- indo uma POC correspondente a um índice de imagem de referência i x da POC da imagem corrente, o índice de imagem de referência ix é qual- quer índice de imagem de referência diferente do índice de imagem de referência i1 nos índices de imagem de referência da primeira lista de imagens de referência, e a POC correspondente ao índice de imagem de referência ix é menor do que a POC da imagem corrente; determinar um índice de imagem de referência i2 de uma segunda lista de imagens de referência como um segundo índice de imagem de refe- rência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência, em que a POC correspondente ao índice de ima- gem de referência i2 é maior do que a POC da imagem corrente, uma diferença obtida subtraindo a POC correspondente ao índice de imagem de referência i2 da POC da imagem corrente é maior do que uma dife- rença obtida subtraindo uma POC correspondente a um índice de ima- gem de referência iy da POC da imagem corrente, o índice de imagem de referência iy é qualquer índice de imagem de referência diferente do índice de imagem de referência i2 nos índices de imagem de referência da segunda lista de imagens de referência, e a POC correspondente ao índice de imagem de referência iy é maior do que a POC da imagem corrente; e prever o bloco corrente com base no primeiro índice de imagem de re- ferência e no segundo índice de imagem de referência, em que a ima- gem corrente compreende o bloco corrente.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende: obter um primeiro identificador, em que um valor do primeiro identifica- dor é um primeiro valor predefinido, em que quando o valor do primeiro identificador é o primeiro valor predefinido, o primeiro identificador é usado para indicar determinar o índice de ima- gem de referência i1 da primeira lista de imagens de referência como o primeiro índice de imagem de referência que corresponde ao bloco cor- rente e que é da primeira lista de imagens de referência, e determinar o índice de imagem de referência i2 da segunda lista de imagens de refe- rência como o segundo índice de imagem de referência que corres- ponde ao bloco corrente e que é da segunda lista de imagens de refe- rência.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que quando o primeiro identificador é o primeiro valor pre- definido, o primeiro identificador é ainda usado para indicar determinar uma segunda diferença de vetor de movimento do bloco corrente com base em uma primeira diferença de vetor de movimento do bloco cor- rente, ainda compreende: obter a primeira diferença de vetor de movimento do bloco corrente; e obter a segunda diferença de vetor de movimento do bloco corrente com base na primeira diferença de vetor de movimento de acordo com a se- guinte fórmula: mvd_lY = −mvd_lX, em que mvd_lY representa a segunda diferença de vetor de movimento, mvd_lX representa a primeira diferença de vetor de movimento, uma da primeira diferença de vetor de movimento e a segunda diferença de vetor de mo- vimento corresponde à primeira lista de imagens de referência, e a outra da primeira diferença de vetor de movimento e a segunda diferença de vetor de movimento corresponde à segunda lista de imagens de refe- rência.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que ainda compreende: obter um primeiro vetor de movimento previsto e um segundo vetor de movimento previsto; determinar um primeiro vetor de movimento com base no primeiro vetor de movimento previsto e a primeira diferença de vetor de movimento; e determinar um segundo vetor de movimento com base no segundo vetor de movimento previsto e a segunda diferença de vetor de movimento; e a previsão do bloco corrente com base no primeiro índice de imagem de referência e o segundo índice de imagem de referência compreende: prever o bloco corrente com base no primeiro índice de imagem de re- ferência, o segundo índice de imagem de referência, a primeira lista de imagens de referência, a segunda lista de imagens de referência, o pri- meiro vetor de movimento, e o segundo vetor de movimento.
5. Dispositivo de interpredição bidirecional, caracterizado pelo fato de que compreende: uma unidade de determinação, configurada para: determinar um índice de imagem de referência i1 de uma primeira lista de imagens de referên- cia como um primeiro índice de imagem de referência que corresponde a um bloco corrente e que é da primeira lista de imagens de referência, em que uma POC correspondente ao índice de imagem de referência i1 é menor do que uma POC de uma imagem corrente, uma diferença ob- tida subtraindo a POC correspondente ao índice de imagem de referên- cia i1 da POC da imagem corrente é menor do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de refe- rência ix da POC da imagem corrente, o índice de imagem de referência ix é qualquer índice de imagem de referência diferente do índice de ima- gem de referência i1 em índices de imagem de referência da primeira lista de imagens de referência, e a POC correspondente ao índice de imagem de referência ix é menor do que a POC da imagem corrente; e determinar um índice de imagem de referência i2 de uma segunda lista de imagens de referência como um segundo índice de imagem de refe- rência que corresponde ao bloco corrente e que é da segunda lista de imagens de referência, em que uma POC correspondente ao índice de imagem de referência i2 é maior do que a POC da imagem corrente, uma diferença obtida subtraindo a POC correspondente ao índice de imagem de referência i2 da POC da imagem corrente é maior do que uma diferença obtida subtraindo uma POC correspondente a um índice de imagem de referência iy da POC da imagem corrente, o índice de imagem de referência iy é qualquer índice de imagem de referência di- ferente do índice de imagem de referência i2 nos índices de imagem de referência da segunda lista de imagens de referência, e a POC corres- pondente ao índice de imagem de referência iy é maior do que a POC da imagem corrente; e uma unidade de processamento de interpredição , configurada para pre- ver o bloco corrente com base no primeiro índice de imagem de referên- cia e no segundo índice de imagem de referência, em que a imagem corrente compreende o bloco corrente.
6. Dispositivo, de acordo com a reivindicação 5, caracteri- zado pelo fato de que ainda compreende: uma unidade de obtenção, configurada para obter um primeiro identifi- cador, em que um valor do primeiro identificador é um primeiro valor predefinido, em que quando o valor do primeiro identificador é o primeiro valor predefinido, o primeiro identificador é usado para indicar determinar o índice de ima- gem de referência i1 da primeira lista de imagens de referência como o primeiro índice de imagem de referência que corresponde ao bloco cor- rente e que é da primeira lista de imagens de referência, e determinar o índice de imagem de referência i2 da segunda lista de imagens de refe- rência como o segundo índice de imagem de referência que corres- ponde ao bloco corrente e que é da segunda lista de imagens de refe- rência.
7. Dispositivo, de acordo com a reivindicação 6, caracteri- zado pelo fato de que quando o primeiro identificador é o primeiro valor predefinido, o primeiro identificador é ainda usado para indicar determi- nar uma segunda diferença de vetor de movimento do bloco corrente com base em uma primeira diferença de vetor de movimento do bloco corrente, e a unidade de obtenção é ainda configurada para: obter a primeira diferença de vetor de movimento do bloco corrente; e a unidade de determinação é ainda configurada para obter a segunda diferença de vetor de movimento do bloco corrente com base na pri- meira diferença de vetor de movimento de acordo com a seguinte fór- mula: mvd_lY = −mvd_lX, em que mvd_lY representa a segunda diferença de vetor de movimento, mvd_lX representa a primeira diferença de vetor de movimento, uma dentre a primeira diferença de vetor de movimento e a segunda diferença de ve- tor de movimento corresponde à primeira lista de imagens de referência, e a outra dentre a primeira diferença de vetor de movimento e a segunda diferença de vetor de movimento corresponde à segunda lista de ima- gens de referência.
8. Dispositivo, de acordo com a reivindicação 7, caracteri- zado pelo fato de que a unidade de obtenção é ainda configurada para: obter um primeiro vetor de movimento previsto e um segundo vetor de movimento previsto; a unidade de determinação é ainda especificamente configurada para: determinar um primeiro vetor de movimento com base no primeiro vetor de movimento previsto e na primeira diferença de vetor de movimento; e determinar um segundo vetor de movimento com base no segundo vetor de movimento previsto e na segunda diferença de vetor de movimento; e a unidade de processamento de interpredição é especificamente confi- gurada para prever o bloco corrente com base no primeiro índice de imagem de referência, no segundo índice de imagem de referência, na primeira lista de imagens de referência, na segunda lista de imagens de referência, no primeiro vetor de movimento, e no segundo vetor de mo- vimento.
9. Dispositivo de codificação de vídeo, caracterizado pelo fato de que compreende: um módulo de interpredição , configurado para realizar o método, como definido em qualquer uma das reivindicações 1 a 4; e um módulo de reconstrução, configurado para reconstruir um bloco cor- rente com base em um valor de amostra previsto obtido pelo módulo de interpredição .
10. Dispositivo de codificação de vídeo, caracterizado pelo fato de que compreende: um módulo de interpredição , configurado para realizar o método, como definido em qualquer uma das reivindicações 1 a 4; e um módulo de reconstrução, configurado para reconstruir um bloco cor- rente com base em um valor de amostra previsto obtido pelo módulo de interpredição .
11. Dispositivo de codificação de vídeo, caracterizado pelo fato de que compreende uma memória não volátil e um processador que são acoplados entre si, em que o processador viabiliza que o código do programa armazenado na memória, execute o método, como definido em qualquer uma das reivindicações 1 a 4.
12. Dispositivo de decodificação de vídeo, caracterizado pelo fato de que compreende uma memória não volátil e um processador que são acoplados um ao outro, em que o processador viabiliza que o código de programa armazenado na memória execute o método, como definido em qualquer uma das reivindicações 1 a 4.
13. Meio de armazenamento legível por computador, carac- terizado pelo fato de que armazena um programa de computador e, quando o programa de computador é executado em um processador, o método, como definido em qualquer uma das reivindicações 1 a 4 é im- plementado.
14. Terminal, caracterizado pelo fato de que compreende um ou mais processadores, uma memória e uma interface de comunicação; e a memória e a interface de comunicação são conectadas a um ou mais processadores, o terminal se comunica com outro dispositivo através da interface de comunicação, a memória é configurada para armazenar o código do programa de computador, o código do programa de compu- tador compreende uma instrução, e quando um ou mais processadores executam a instrução, o terminal executa o método bidirecional de inter- predição como definido em qualquer uma das reivindicações 1 a 4.
15. Meio de armazenamento não transitório, caracterizado pelo fato de que compreende um fluxo de bits codificado ou decodificado pelo método, como definido em qualquer uma das reivindicações 1 a 4.
BR112021003967-8A 2018-09-04 2019-09-04 método e dispositivos de interpredição bidirecional BR112021003967A2 (pt)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862726975P 2018-09-04 2018-09-04
US62/726,975 2018-09-04
US201862727534P 2018-09-05 2018-09-05
US62/727,534 2018-09-05
US201862734226P 2018-09-20 2018-09-20
US62/734,226 2018-09-20
PCT/CN2019/104462 WO2020048502A1 (zh) 2018-09-04 2019-09-04 一种双向帧间预测方法及装置

Publications (1)

Publication Number Publication Date
BR112021003967A2 true BR112021003967A2 (pt) 2021-05-25

Family

ID=69722245

Family Applications (2)

Application Number Title Priority Date Filing Date
BR112021004060-9A BR112021004060A2 (pt) 2018-09-04 2019-06-30 método e dispositivo de obtenção de quadro de referência aplicado a interpredição bidirecional, codificador / decodificador de vídeo, produto de programa de computador, meio de armazenamento legível por computador, e terminal
BR112021003967-8A BR112021003967A2 (pt) 2018-09-04 2019-09-04 método e dispositivos de interpredição bidirecional

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR112021004060-9A BR112021004060A2 (pt) 2018-09-04 2019-06-30 método e dispositivo de obtenção de quadro de referência aplicado a interpredição bidirecional, codificador / decodificador de vídeo, produto de programa de computador, meio de armazenamento legível por computador, e terminal

Country Status (13)

Country Link
US (3) US11792389B2 (pt)
EP (2) EP3840386A4 (pt)
JP (4) JP7242861B2 (pt)
KR (2) KR102602827B1 (pt)
CN (3) CN112640468A (pt)
AU (3) AU2019335839B2 (pt)
BR (2) BR112021004060A2 (pt)
CA (1) CA3111112A1 (pt)
MX (2) MX2021002488A (pt)
PH (1) PH12021550454A1 (pt)
SG (1) SG11202102171TA (pt)
WO (2) WO2020048205A1 (pt)
ZA (1) ZA202102188B (pt)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020048205A1 (zh) 2018-09-04 2020-03-12 华为技术有限公司 应用于双向帧间预测中的参考帧获取方法及装置
US11589069B2 (en) * 2018-09-20 2023-02-21 Sharp Kabushiki Kaisha Systems and methods for signaling parameters in video coding
KR102662874B1 (ko) * 2019-04-28 2024-05-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 대칭 모션 벡터 차이 코딩
CN113099241B (zh) * 2021-03-31 2022-11-01 北京百度网讯科技有限公司 参考帧列表更新方法、装置、设备以及存储介质

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
JP2007067731A (ja) * 2005-08-30 2007-03-15 Sanyo Electric Co Ltd 符号化方法
JP2008154015A (ja) * 2006-12-19 2008-07-03 Hitachi Ltd 復号化方法および符号化方法
CN101309427B (zh) * 2008-07-09 2010-07-07 中兴通讯股份有限公司 视频编码方法和装置
JP2011082683A (ja) * 2009-10-05 2011-04-21 Sony Corp 画像処理装置、画像処理方法、及び、プログラム
ES2618932T3 (es) 2010-04-23 2017-06-22 M&K Holdings Inc. Aparato de codificación de imagen
TWI508534B (zh) 2010-05-18 2015-11-11 Sony Corp Image processing apparatus and image processing method
US9008181B2 (en) 2011-01-24 2015-04-14 Qualcomm Incorporated Single reference picture list utilization for interprediction video coding
US9288501B2 (en) 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
JP5786499B2 (ja) * 2011-06-30 2015-09-30 株式会社Jvcケンウッド 画像復号装置、画像復号方法及び画像復号プログラム
JP5485969B2 (ja) * 2011-11-07 2014-05-07 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
CN104137547B (zh) 2011-11-21 2018-02-23 谷歌技术控股有限责任公司 用于时间预测的共位图片的隐式确定以及组合隐式和显式确定
US20130272409A1 (en) * 2012-04-12 2013-10-17 Qualcomm Incorporated Bandwidth reduction in video coding through applying the same reference index
JP5997363B2 (ja) * 2012-04-15 2016-09-28 サムスン エレクトロニクス カンパニー リミテッド ビデオ復号化方法及びビデオ復号化装置
DK3079363T3 (en) * 2012-06-29 2017-12-04 ERICSSON TELEFON AB L M (publ) ENCODING AND DECODING VIDEO SEQUENCES COMPREHENSIVE REFERENCE IMAGE KITS
US9357195B2 (en) * 2012-08-16 2016-05-31 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
CN103079072A (zh) * 2013-01-15 2013-05-01 清华大学 帧间预测方法、编码设备和解码设备
CN105264894A (zh) 2013-04-05 2016-01-20 三星电子株式会社 针对层间解码和编码方法以及设备的确定帧间预测候选的方法
CN104717513B (zh) * 2015-03-31 2018-02-09 北京奇艺世纪科技有限公司 一种双向帧间预测方法及装置
US10404979B2 (en) * 2016-03-17 2019-09-03 Mediatek Inc. Video coding with interpolated reference pictures
CN109479142B (zh) * 2016-04-29 2023-10-13 世宗大学校产学协力团 用于对图像信号进行编码/解码的方法和设备
KR102563706B1 (ko) 2016-09-30 2023-08-03 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 인코딩 방법, 비디오 디코딩 방법, 및 단말
MX2019003549A (es) * 2016-09-30 2019-08-12 Huawei Tech Co Ltd Metodo y aparato para codificacion y decodificacion de imagenes a traves de inter-prediccion.
EP3560202A4 (en) * 2016-12-27 2020-07-29 MediaTek Inc. METHOD AND DEVICE FOR BILATERAL TEMPLATE MV REFINING FOR VIDEO CODING
US10595035B2 (en) * 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
JP6344508B2 (ja) * 2017-06-12 2018-06-20 株式会社Jvcケンウッド 画像復号装置、画像復号方法、画像復号プログラム
CN108124154B (zh) * 2017-12-28 2020-04-24 北京数码视讯科技股份有限公司 帧间预测模式的快速选择方法、装置及电子设备
TWI719522B (zh) * 2018-06-30 2021-02-21 大陸商北京字節跳動網絡技術有限公司 用於視頻編碼的對稱性雙向預測模式
CN115052162A (zh) * 2018-07-02 2022-09-13 华为技术有限公司 用于解码端运动矢量修正的基于误差面的子像素精确修正方法
WO2020048205A1 (zh) * 2018-09-04 2020-03-12 华为技术有限公司 应用于双向帧间预测中的参考帧获取方法及装置
KR102662874B1 (ko) * 2019-04-28 2024-05-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 대칭 모션 벡터 차이 코딩

Also Published As

Publication number Publication date
JP2021536715A (ja) 2021-12-27
ZA202102188B (en) 2022-06-29
EP3840385A4 (en) 2021-09-22
EP3840386A4 (en) 2021-09-22
JP2021535707A (ja) 2021-12-16
SG11202102171TA (en) 2021-04-29
AU2019335839B2 (en) 2022-05-26
CN112640468A (zh) 2021-04-09
JP7277587B2 (ja) 2023-05-19
KR20210047945A (ko) 2021-04-30
KR20210047950A (ko) 2021-04-30
MX2021002488A (es) 2021-07-16
BR112021004060A2 (pt) 2021-05-25
AU2022221499B2 (en) 2023-12-21
US20210185324A1 (en) 2021-06-17
MX2021002489A (es) 2021-07-16
WO2020048502A1 (zh) 2020-03-12
JP2023109818A (ja) 2023-08-08
EP3840385A1 (en) 2021-06-23
KR102655127B1 (ko) 2024-04-04
PH12021550454A1 (en) 2021-12-06
KR102602827B1 (ko) 2023-11-15
AU2022221499A1 (en) 2022-09-22
JP2023109819A (ja) 2023-08-08
WO2020048205A1 (zh) 2020-03-12
AU2024201857A1 (en) 2024-04-11
US20210185310A1 (en) 2021-06-17
US20230421755A1 (en) 2023-12-28
JP7242861B2 (ja) 2023-03-20
CN112866721A (zh) 2021-05-28
US11659161B2 (en) 2023-05-23
EP3840386A1 (en) 2021-06-23
AU2019335839A1 (en) 2021-04-01
CA3111112A1 (en) 2020-03-12
US11792389B2 (en) 2023-10-17
CN112567753A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
AU2022221499B2 (en) Method and device for bidirectional inter frame prediction
BR112021004800A2 (pt) aparelho e método para refinamento de vetor de movimento de lado de decodificador condicional em condificação de vídeo
US11924458B2 (en) Bidirectional inter prediction method and apparatus
EP3840384A1 (en) Construction method for candidate motion information list, inter-frame prediction method, and apparatus
RU2818520C2 (ru) Способ и устройство двунаправленного интер-предсказания
RU2795934C2 (ru) Способ и устройство двунаправленного интер-предсказания

Legal Events

Date Code Title Description
B154 Notification of filing of divisional application [chapter 15.50 patent gazette]

Free format text: O PEDIDO FOI DIVIDIDO NO BR122023014123-7 PROTOCOLO 870230061629 EM 13/07/2023 16:27.O PEDIDO FOI DIVIDIDO NO BR122023014125-3 PROTOCOLO 870230061632 EM 13/07/2023 16:31.