ES2711449T3 - Modo de fusión bipredictivo basado en vecinos unipredictivos y bipredictivos en la codificación de vídeo - Google Patents

Modo de fusión bipredictivo basado en vecinos unipredictivos y bipredictivos en la codificación de vídeo Download PDF

Info

Publication number
ES2711449T3
ES2711449T3 ES12707694T ES12707694T ES2711449T3 ES 2711449 T3 ES2711449 T3 ES 2711449T3 ES 12707694 T ES12707694 T ES 12707694T ES 12707694 T ES12707694 T ES 12707694T ES 2711449 T3 ES2711449 T3 ES 2711449T3
Authority
ES
Spain
Prior art keywords
bipredictive
video
blocks
neighboring
mode
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES12707694T
Other languages
English (en)
Inventor
Yunfei Zheng
Wei-Jung Chien
Marta Karczewicz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2711449T3 publication Critical patent/ES2711449T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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
    • 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
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un procedimiento para codificación de datos de vídeo, el procedimiento que comprende: seleccionar un modo de fusión bipredictivo para codificar un bloque de vídeo actual; identificar un primer conjunto de dos bloques de vídeo vecinos diferentes codificados en los modos unipredictivos de un conjunto de bloques vecinos candidatos, el conjunto de bloques vecinos candidatos que comprende un vecino superior, un vecino superior derecho, un vecino izquierdo, un vecino inferior izquierdo y un vecino temporal coubicado desde otra trama de vídeo; usar dos vectores de movimiento unipredictivos diferentes, uno asociado con cada uno de los dos bloques de vídeo vecinos diferentes de dicho primer conjunto, como un primer conjunto candidato de vectores de movimiento para codificar el bloque de vídeo actual de acuerdo con el modo de fusión bipredictivo; identificar un segundo conjunto de dos bloques de vídeo vecinos diferentes codificados en los modos unipredictivos del conjunto de bloques vecinos candidatos, y usar dos vectores de movimiento unipredictivos diferentes, uno asociado con cada uno de los dos bloques de vídeo vecinos diferentes de dicho segundo conjunto, como un segundo conjunto candidato de vectores de movimiento para codificar el bloque de vídeo actual de acuerdo con el modo de fusión bipredictivo; identificar al menos uno de los bloques vecinos del conjunto de bloques vecinos candidatos que se codifique en el modo bipredictivo, y usar los dos vectores de movimiento bipredictivos de dicho al menos uno de los bloques vecinos como un tercer conjunto candidato de vectores de movimiento para codificar el bloque de vídeo actual de acuerdo con el modo de fusión bipredictivo; seleccionar uno de los conjuntos candidatos de vectores de movimiento para codificar el bloque de vídeo actual de acuerdo con el modo de fusión bipredictivo; y generar uno o más elementos sintácticos para identificar el conjunto candidato seleccionado de vectores de movimiento.

Description

DESCRIPCION
Modo de fusion bipredictivo basado en vecinos unipredictivos y bipredictivos en la codificacion de video
CAMPO TECNICO
[0001 ] Esta divulgacion se refiere a tecnicas de codificacion de video usadas para comprimir datos de video y, mas particularmente, a modos de codificacion de video usados en la compresion de video.
ANTECEDENTES
[0002] Las capacidades de video digital pueden incorporarse a una amplia gama de dispositivos de video, incluidos televisores digitales, sistemas de radiodifusion directa digital, dispositivos de comunicacion inalambrica, tales como auriculares de telefonos inalambricos, sistemas de radiodifusion inalambrica, asistentes digitales personales (PDA), ordenadores portatiles o de escritorio, tablets, camaras digitales, dispositivos de grabacion digital, dispositivos de videojuegos, consolas de videojuegos, reproductores multimedia personales y similares. Dichos dispositivos de video pueden implementar tecnicas de compresion de video, tales como las descritas en MPEG-2, MPEG-4 o ITU-T H.264/MPEG-4, parte 10, Codificacion avanzada de video (AVC), con el fin de comprimir datos de video. Las tecnicas de compresion de video realizan una prediccion espacial y/o temporal para reducir o eliminar la redundancia inherente a las secuencias de video. El "Equipo de Colaboracion Conjunta en Codificacion de Video" (JCTVC), que es una colaboracion entre MPEG e ITU-T, esta desarrollando normas de video emergentes, tales como la norma de Codificacion de Video de Alta Eficiencia (HEVC), que siguen surgiendo y evolucionando. La norma HVEC emergente se denomina algunas veces H.265.
[0003] Estas y otras normas y tecnicas de codificacion de video usan la codificacion de video basada en bloques. Las tecnicas de codificacion de video basadas en bloques dividen los datos de video de una trama de video (o una porcion de los mismos) en bloques de video y luego codifican los bloques de video usando tecnicas de compresion predictiva basada en bloques. Los bloques de video se pueden dividir ademas en particiones de bloques de video. Los bloques de video (o las particiones de los mismos) pueden denominarse unidades de codificacion (CU) y pueden codificarse usando una o mas tecnicas de codificacion especfficas de video, asf como tecnicas generales de compresion de datos. Se pueden seleccionar diferentes modos y usarse para codificar los bloques de video.
[0004] Con la norma HEVC emergente, las unidades de codificacion mas grandes (LCU) se pueden dividir en CU cada vez mas pequenas de acuerdo con un sistema de particion en arbol cuaternario. Las CU se pueden predecir basandose en las llamadas unidades de prediccion (PU), que pueden tener tamanos de particion correspondientes al tamano de las CU o mas pequenos que el tamano de las CU, de modo que se pueden usar multiples PU para predecir una CU dada.
[0005] Se pueden usar diferentes modos para codificar las CU. Por ejemplo, se pueden usar diferentes modos de intracodificacion para codificar las CU basandose en los datos predictivos dentro de la misma trama o segmento a fin de aprovechar la redundancia espacial dentro de una trama de video. De forma alternativa, los modos de intercodificacion se pueden usar para codificar CU basadas en datos predictivos a partir de otra trama o segmento, a fin de aprovechar la redundancia temporal a traves de tramas de una secuencia de video. Despues de que la codificacion predictiva se realice de acuerdo con un modo seleccionado, se puede realizar entonces la codificacion de transformada, tal como las transformadas de coseno discretas (DCT), las transformadas de enteros o similares. Con la HEVC, la codificacion de transformada puede producirse con respecto a las unidades de transformada (TU), que tambien pueden tener diferentes tamanos de transformadas en la norma HEVC. Tambien se puede realizar la cuantizacion de los coeficientes de transformada, el escaneo de los coeficientes de transformada cuantizados y la codificacion por entropfa. La informacion sintactica se senala con datos de video codificados, por ejemplo, en un encabezado de segmento de video o en un encabezado de bloque de video, con el fin de informar al decodificador sobre como decodificar los datos de video. Entre otras cosas, la informacion sintactica puede identificar el modo que se uso en la codificacion de video de diferentes bloques de video.
[0006] El modo de fusion es un modo de intercodificacion especffica usado en la compresion de video. Con el modo de fusion, el vector de movimiento de un bloque de video vecino se hereda para un bloque de video actual que se este codificando. En algunos casos, el modo de fusion causa que un bloque de video actual herede el vector de movimiento de un vecino predefinido y, en otros casos, se puede usar un valor de fndice para identificar el vecino especffico del que el bloque de video actual hereda su vector de movimiento (por ejemplo, arriba, arriba a la derecha, a la izquierda, abajo a la izquierda o coubicados desde una trama temporalmente adyacente).
[0007] "Extended merging scheme using motion-hypothesis prediction [Sistema de fusion extendido usando prediccion de hipotesis de movimiento]", no. JCTVC-B023, 23 de julio de 2013, LIM J et al, describe la prediccion de hipotesis de movimiento en la que se predice una particion actual basandose en una suma ponderada de dos particiones, una de las cuales se ubica usando un parametro de movimiento de una particion vecina anterior y otra de las cuales se ubica usando un parametro de movimiento de una particion vecina izquierda.
[0008] "Video coding technology proposal by RWTH Aachen University [Propuesta de tecnologfa de codificacion de video de la RWTH Aachen University]", no JCTVC-A112, 17 de abril de 2010, KAMP S et al. divulga la Derivacion de Vectores de Movimiento del lado del Decodificador que produce una serial de prediccion basada en una direccion de prediccion. Para la prediccion unidireccional se usan dos candidatos de movimiento con el coste mas bajo para obtener dos senales de prediccion que entonces se suman y se dividen por 2. Para la prediccion bidireccional de dos candidatos de movimiento con el menor coste se seleccionan las senales sumadas y divididas por 2.
SUMARIO
[0009] Esta divulgacion describe un modo de fusion bipredictivo en el que un bloque de video codificado en el modo de fusion bipredictivo puede heredar su informacion de movimiento de dos bloques vecinos diferentes, en el que los dos bloques vecinos diferentes se codificaron cada uno en un modo unipredictivo. La codificacion bipredictiva puede mejorar la capacidad para lograr la compresion o mejorar la calidad del video en un nivel de compresion dado. Sin embargo, en algunos casos, puede que no haya (o que haya pocos) vecinos que se codificaron en un modo bipredictivo, haciendo por tanto que la biprediccion no este disponible (o sea limitada) con respecto a la codificacion del modo de fusion. El modo de fusion bipredictivo descrito puede aumentar el numero de candidatos bipredictivos que pueden usarse en el contexto de la codificacion del modo de fusion al permitir que se usen dos vecinos unipredichos independientes para definir la informacion de movimiento bipredictivo para un bloque de video.
[0010] En un ejemplo, esta divulgacion describe un procedimiento para decodificar datos de video. El procedimiento comprende recibir uno o mas elementos sintacticos para un bloque de video actual, en el que el bloque de video actual se codifica de acuerdo con un modo de fusion bipredictivo y, basandose en uno o mas elementos sintacticos, identificar uno de una pluralidad de conjuntos de dos bloques de video vecinos diferentes codificados en los modos unipredictivos o de un bloque vecino del conjunto de bloques vecinos candidatos que se codifique en el modo bipredictivo, en el que los bloques de video vecinos son de un conjunto de bloques vecinos candidatos, comprendiendo el conjunto de bloques vecinos candidatos un vecino superior, un vecino superior derecho, un vecino izquierdo, un vecino inferior izquierdo y un vecino temporal coubicado desde otra trama de video. El procedimiento tambien comprende, donde el elemento sintactico identifica uno o una pluralidad de conjuntos de dos bloques de video vecinos diferentes codificados en el modo unipredictivo, usar informacion de movimiento de los dos bloques de video vecinos diferentes para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo y, donde el elemento sintactico identifica bloques de video vecinos codificados en el modo bipredictivo, usar los dos vectores de movimiento bipredictivos asociados con el bloque de video vecino para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo.
[0011] En otro ejemplo, esta divulgacion describe un procedimiento para codificar datos de video. El procedimiento comprende seleccionar un modo de fusion bipredictivo para codificar un bloque de video actual, identificar un primer conjunto de dos bloques de video vecinos diferentes codificados en los modos unipredictivos de un conjunto de bloques vecinos candidatos, comprendiendo el conjunto de bloques vecinos candidatos un vecino superior, un vecino superior derecho, un vecino izquierdo, un vecino inferior izquierdo y un vecino temporal coubicado desde otra trama de video, identificar un segundo conjunto de dos bloques de video vecinos diferentes codificados en los modos unipredictivos a partir del conjunto de bloques vecinos candidatos, y usar dos vectores de movimiento unipredictivos diferentes, uno asociado con cada uno de los dos bloques de video vecinos diferentes de dicho segundo conjunto, como un segundo conjunto candidato de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo, identificar al menos uno de los bloques vecinos del conjunto de bloques vecinos candidatos que se codifique en el modo bipredictivo, y usar los dos vectores de movimiento bipredictivo de dicho al menos uno de los bloques vecinos como un tercer conjunto candidato de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo, seleccionar uno de los conjuntos de vectores de movimiento candidatos para codificar el conjunto candidato seleccionado de bloque de video actual de vectores de movimiento.
[0012] En otro ejemplo, esta divulgacion describe un dispositivo para decodificar datos de video, comprendiendo el dispositivo medios para recibir uno o mas elementos sintacticos para un bloque de video actual, en el que el bloque de video actual se codifica de acuerdo con un modo de fusion bipredictivo, medios para identificar uno de una pluralidad de conjuntos de dos bloques de video vecinos diferentes codificados en los modos unipredictivos o un bloque vecino del conjunto de bloques vecinos candidatos que se codifique en el modo bipredictivo, basandose en el uno o mas elementos sintacticos, en el que los bloques de video vecinos proceden de un conjunto de bloques vecinos candidatos, comprendiendo el conjunto de bloques vecinos candidatos un vecino superior, un vecino superior derecho, un vecino izquierdo, un vecino inferior izquierdo y un vecino temporal coubicado desde otra trama de video, y medios para usar la informacion de movimiento de los dos bloques de video vecinos diferentes para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo donde el elemento sintactico identifica uno o una pluralidad de conjuntos de dos bloques de video vecinos diferentes codificados en el modo unipredictivo o para usar los dos vectores de movimiento bipredictivo asociados con el bloque de video vecino para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo donde el elemento sintactico identifica bloques de video vecinos codificados en el modo bipredictivo.
[0013] En otro ejemplo, esta divulgacion describe un dispositivo para codificar datos de video, comprendiendo el dispositivo medios para seleccionar un modo de fusion bipredictivo para codificar un bloque de video actual, medios para identificar un primer conjunto de dos bloques de video vecinos diferentes codificados en los modos unipredictivos a partir de un conjunto de bloques vecinos candidatos, comprendiendo el conjunto de bloques vecinos candidatos un vecino superior, un vecino superior derecho, un vecino izquierdo, un vecino inferior izquierdo y un vecino temporal coubicado desde otra trama de video, medios para usar dos vectores de movimiento unipredictivos diferentes, uno asociado con cada uno de los dos bloques de video vecinos diferentes de dicho primer conjunto, como un primer conjunto candidato de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo, medios para identificar un segundo conjunto de dos bloques de video vecinos diferentes codificados en los modos unipredictivos a partir del conjunto de bloques vecinos candidatos, y usar dos vectores de movimiento unipredictivos diferentes, uno asociado con cada uno de los dos bloques de video vecinos diferentes de dicho segundo conjunto, como un segundo conjunto candidato de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo, medios para identificar al menos uno de los bloques vecinos del conjunto de bloques vecinos candidatos que se codifique en el modo bipredictivo, y usar los dos vectores de movimiento bipredictivos de dicho al menos uno de los bloques vecinos como tercer conjunto candidato de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo, medios para seleccionar uno de los conjuntos de vectores de movimiento candidatos para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo y medios para generar uno o mas elementos sintacticos para identificar el conjunto candidato seleccionado de vectores de movimiento.
[0014] Las tecnicas descritas en esta divulgacion pueden implementarse en hardware, software, firmware o en cualquier combinacion de los mismos. Por ejemplo, diversas tecnicas pueden implementarse o ejecutarse por uno o mas procesadores. Como se usa en el presente documento, un procesador puede referirse a un microprocesador, a un circuito integrado especffico de la aplicacion (ASIC), a una matriz de puerta programable por campo (FPGA), a un procesador de senales digitales (DSP), o a otro circuito logico integrado o discreto equivalente. El software puede ejecutarse por uno o mas procesadores. El software que comprende instrucciones para ejecutar las tecnicas se puede almacenar inicialmente en un medio legible por ordenador y cargarse y ejecutarse mediante un procesador.
[0015] Por consiguiente, esta divulgacion tambien contempla medios de almacenamiento legibles por ordenador que comprenden instrucciones para causar que un procesador realice cualquiera de una variedad de tecnicas descritas en esta divulgacion. En algunos casos, el medio de almacenamiento legible por ordenador puede formar parte de un producto de almacenamiento de programa informatico, que puede venderse a los fabricantes y/o usarse en un dispositivo. El producto de programa informatico puede incluir el medio legible por ordenador y, en algunos casos, tambien puede incluir materiales de embalaje.
[0016] Los detalles de uno o mas aspectos de la divulgacion se exponen en los dibujos adjuntos y en la descripcion siguiente. Otras caracterfsticas, objetivos y ventajas de las tecnicas descritas en esta divulgacion resultaran evidentes a partir de la descripcion y de los dibujos, y a partir de las reivindicaciones.
BREVE DESCRIPCION DE LOS DIBUJOS
[0017]
La FIG. 1 es un diagrama de bloques que ilustra un sistema de codificacion y decodificacion de video a modo de ejemplo que puede implementar una o mas de las tecnicas de esta divulgacion.
La FIG. 2 es un diagrama conceptual que ilustra la particion de las unidades de codificacion (CU) compatibles con las tecnicas de esta divulgacion.
La FIG. 3 es un diagrama conceptual que ilustra algunas posibles relaciones entre las CU, las unidades de prediccion (PU) y las unidades de transformada (TU) compatibles con las tecnicas de esta divulgacion.
La FIG. 4 es un diagrama de bloques que ilustra un codificador de video que puede implementar las tecnicas de esta divulgacion.
La FIG. 5 es un diagrama de bloques que ilustra una unidad de prediccion a modo de ejemplo de un codificador, compatible con uno o mas ejemplos de esta divulgacion.
La FIG. 6 es un diagrama de bloques que ilustra un decodificador de video que puede implementar las tecnicas de esta divulgacion.
La FIG. 7 es un diagrama conceptual que ilustra la ubicacion de diferentes bloques de video vecinos en relacion con el bloque de video actual, de modo que el bloque de video actual puede usar informacion de uno o mas bloques de video vecinos diferentes en un modo de fusion bipredictivo, compatible con esta divulgacion.
Las FIGS. 8 y 9 son diagramas de flujo que ilustran tecnicas compatibles con esta divulgacion.
DESCRIPCION DETALLADA
[0018] En la mayorfa de los sistemas de codificacion de video, la estimacion de movimiento y la compensacion de movimiento se usan para reducir la redundancia temporal en una secuencia de video, con el fin de lograr la compresion de datos. En este caso, puede generarse un vector de movimiento a fin de identificar un bloque predictivo de datos de video, por ejemplo, a partir de otra trama o segmento de video, que se puede usar para predecir los valores del bloque de video actual que se este codificando. Los valores del bloque de video predictivo se restan de los valores del bloque de video actual para producir un bloque de datos residuales. El vector de movimiento se comunica desde el codificador al decodificador, junto con los datos residuales. El decodificador puede ubicar el mismo bloque predictivo (basandose en el vector de movimiento) y reconstruir el bloque de video codificado mediante la fusion de los datos residuales con los datos del bloque predictivo. Tambien se pueden usar muchas otras tecnicas de compresion, tales como las transformadas y la codificacion por entropfa, para mejorar aun mas la compresion de video.
[0019] El proceso de estimacion de movimiento se realiza usualmente en el codificador. La informacion de movimiento (tales como los vectores de movimiento, los indices de vectores de movimiento, las direcciones de prediccion u otra informacion) se puede codificar y transmitir desde el codificador al decodificador para que el decodificador pueda identificar el mismo bloque predictivo que se uso para codificar un bloque de video dado. Se pueden usar muchos modos de codificacion diferentes para permitir diferentes tipos de prediccion temporal entre dos tramas diferentes o tipos diferentes de prediccion espacial dentro de una trama dada.
[0020] Con el llamado modo de fusion, la informacion de movimiento de un bloque de video vecino se hereda para el bloque de video actual que se este codificando. En este caso, el propio vector de movimiento no se transmite para un bloque de video codificado en el modo de fusion. Mas bien, se puede usar un valor de fndice para identificar al vecino del que el bloque de video actual hereda su vector de movimiento (y posiblemente otra informacion de movimiento). Por ejemplo, la informacion de movimiento se puede heredar de un vecino superior, un vecino superior derecho, un vecino izquierdo, un vecino inferior izquierdo o un vecino temporal coubicado desde una trama temporalmente adyacente.
[0021] Con la mayorfa de los modos de fusion, si el vecino se codifica en un modo unipredictivo, entonces el bloque de video actual hereda un vector de movimiento. Si el vecino se codifica en un modo bipredictivo, entonces el bloque de video actual hereda dos vectores de movimiento. En dichos ejemplos, un bloque que se codifica en el modo de fusion esta limitado por la informacion de movimiento de sus vecinos. La uniprediccion y la biprediccion se denominan algunas veces prediccion unidireccional (P) y prediccion bidireccional (B), pero el termino "direccional" esta en general fuera de lugar porque, con las normas modernas de codificacion de video, la biprediccion se basa simplemente en dos listas diferentes de datos predictivos y la direccion no es obligatoria. En otras palabras, los datos en las dos listas diferentes para la biprediccion pueden proceder de tramas anteriores o posteriores, y no es necesario que sean bidireccionales a partir de las tramas anteriores y posteriores, respectivamente. Por esta razon, esta divulgacion usa los terminos uniprediccion y biprediccion en lugar de los terminos prediccion unidireccional y prediccion bidireccional.
[0022] La codificacion bipredictiva puede mejorar la capacidad para lograr la compresion o mejorar la calidad del video en un nivel de compresion dado. Sin embargo, en algunos casos, puede que no haya (o que haya pocos) vecinos que se codificaron en un modo bipredictivo, lo que hace por tanto que la biprediccion no este disponible (o limitada) en la codificacion del modo de fusion. Por ejemplo, con el modo de fusion convencional, si no hay un modo bipredictivo en ninguno de los bloques vecinos, el bloque actual puede perder la oportunidad de aprovechar los beneficios que puedan surgir de la biprediccion.
[0023] Esta divulgacion describe un modo de fusion bipredictivo como una extension o adicion a las tecnicas del modo de fusion. Mas especfficamente, esta divulgacion describe un modo de fusion bipredictivo que puede heredar informacion de movimiento de dos bloques vecinos diferentes, en el que los dos bloques vecinos diferentes se codificaron cada uno en un modo unipredictivo. El modo de fusion bipredictivo descrito puede aumentar el numero de candidatos bipredictivos que pueden usarse en el contexto de la codificacion del modo de fusion.
[0024] La FIG. 1 es un diagrama de bloques que ilustra un sistema de codificacion y decodificacion de video 10 a modo de ejemplo que puede implementar las tecnicas de esta divulgacion. Como se muestra en la FIG. 1, el sistema 10 incluye un dispositivo de origen 12 que transmite el video codificado a un dispositivo de destino 16 a traves de un canal de comunicacion 15. El dispositivo de origen 12 y el dispositivo de destino 16 pueden comprender uno cualquiera de una amplia gama de dispositivos. En algunos casos, el dispositivo de origen 12 y el dispositivo de destino 16 pueden comprender auriculares de dispositivos de comunicacion inalambrica, tales como los llamados radiotelefonos moviles o satelitales. Sin embargo, las tecnicas de esta divulgacion, que se aplican en general a la codificacion y a la decodificacion de bloques de video en el modo de fusion bipredictivo, se pueden aplicar a dispositivos no inalambricos que incluyan capacidades de codificacion y/o decodificacion de video. El dispositivo de origen 12 y el dispositivo de destino 16 son meramente ejemplos de dispositivos de codificacion que pueden soportar las tecnicas descritas en el presente documento.
[0025] En el ejemplo de la FIG. 1, el dispositivo de origen 12 incluye una fuente de video 20, un codificador de video 22, un modulador/demodulador (modem) 23 y un transmisor 24. El dispositivo de destino 16 puede incluir un receptor 26, un modem 27, un decodificador de video 28 y un dispositivo de visualizacion 30. De acuerdo con esta divulgacion, el codificador de video 22 del dispositivo de origen 12 puede configurarse para codificar uno o mas bloques de video de acuerdo con un modo de fusion bipredictivo. Con el modo de fusion bipredictivo, un bloque de video hereda su informacion de movimiento de dos bloques vecinos diferentes, en el que los dos bloques vecinos diferentes se codificaron cada uno en un modo unipredictivo. Se pueden generar elementos sintacticos en el codificador de video 22 con el fin de identificar los dos bloques de video vecinos diferentes codificados en los modos unipredictivos. De esta forma, un decodificador de video puede reconstruir un bloque de video bipredictivo basandose en la informacion de movimiento de los dos bloques de video vecinos diferentes identificados por los elementos sintacticos.
[0026] Mas especfficamente, el codificador de video 22 puede seleccionar un modo de fusion bipredictivo para codificar un bloque de video actual, e identificar dos bloques de video vecinos diferentes codificados en los modos unipredictivos. El codificador de video 22 puede usar la informacion de movimiento de los dos bloques de video vecinos diferentes para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo, y generar uno o mas elementos sintacticos para identificar los dos bloques de video vecinos diferentes para un decodificador de video.
[0027] La fuente de video 20 puede comprender un dispositivo de captura de video, tal como una camara de video, un archivo de video que contenga video capturado previamente, un video procedente de un proveedor de contenido de video o de otra fuente de video. Como otra alternativa, la fuente de video 20 puede generar datos basados en graficos por ordenador como el video de origen, o una combinacion de video en directo, video archivado y video generado por ordenador. En algunos casos, si la fuente de video 20 es una videocamara, el dispositivo de origen 12 y el dispositivo de destino 16 pueden formar los llamados telefonos con camara o videotelefonos. En cada caso, el video capturado, precapturado o generado por ordenador puede codificarse mediante el codificador de video 22.
[0028] Una vez que los datos de video se codifican por el codificador de video 22, la informacion de video codificada puede modularse entonces por el modem 23 de acuerdo con una norma de comunicacion, por ejemplo, tal como el acceso multiple por division de codigo (CDMA), el multiplexado por division de frecuencia ortogonal (OFDM) o cualquier otra norma o tecnica de comunicacion. Los datos codificados y modulados se pueden transmitir entonces al dispositivo de destino 16 a traves del transmisor 24. El modem 23 puede incluir diversos mezcladores, filtros, amplificadores u otros componentes disenados para la modulacion de senales. El transmisor 24 puede incluir circuitos disenados para transmitir datos, incluidos amplificadores, filtros y una o mas antenas. El receptor 26 del dispositivo de destino 16 recibe informacion a traves del canal 15, y el modem 27 demodula la informacion.
[0029] El proceso de decodificacion de video realizado por el decodificador de video 28 puede incluir tecnicas recfprocas a las tecnicas de codificacion realizadas por el codificador de video 22. En particular, el decodificador de video 28 puede recibir uno o mas elementos sintacticos para un bloque de video actual, en el que el bloque de video actual se codifica de acuerdo con un modo de fusion bipredictivo y, basandose en uno o mas elementos sintacticos, identificar dos bloques de video vecinos diferentes codificados en los modos unipredictivos. El decodificador de video puede usar la informacion de movimiento de los dos bloques de video vecinos diferentes para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo.
[0030] El canal de comunicacion 15 puede comprender cualquier medio de comunicacion inalambrica o cableada, tal como un espectro de radiofrecuencia (RF) o una o mas lmeas de transmision ffsica, o cualquier combinacion de medios inalambricos y cableados. El canal de comunicacion 15 puede formar parte de una red basada en paquetes, tal como una red de area local, una red de area extensa o una red global tal como Internet. El canal de comunicacion 15 representa en general cualquier medio de comunicacion adecuado o un conjunto de diferentes medios de comunicacion, para transmitir datos de video desde el dispositivo de origen 12 hasta el dispositivo de destino 16. De nuevo, la FIG. 1 es meramente a modo de ejemplo y las tecnicas de esta divulgacion pueden aplicarse a configuraciones de codificacion de video (por ejemplo, codificacion de video o decodificacion de video) que no incluyan necesariamente ninguna comunicacion de datos entre los dispositivos de codificacion y decodificacion. En otros ejemplos, los datos podna recuperarse de una memoria local, transmitirse a traves de una red o similar.
[0031 ] En algunos casos, el codificador de video 22 y el decodificador de video 28 pueden funcionar sustancialmente de acuerdo con una norma de compresion de video tal como la norma HEVC emergente. Sin embargo, las tecnicas de esta divulgacion tambien se pueden aplicar en el contexto de una variedad de otras normas de codificacion de video, incluyendo algunas normas antiguas, o normas nuevas o emergentes. Aunque no se muestra en la FIG. 1, en algunos casos, tanto el codificador de video 22 como el decodificador de video 28 pueden estar integrados cada uno en un codificador y decodificador de audio, y pueden incluir unidades MUX-DEMUX apropiadas, u otro tipo de hardware y software, para manejar la codificacion tanto de audio como de video en un flujo de datos comun o en flujos de datos independientes. Si procede, las unidades MUX-DEMUX pueden ajustarse al protocolo de multiplexador H.223 de la ITU o a otros protocolos tales como el protocolo de datagramas de usuario (UDP).
[0032] El codificador de video 22 y el decodificador de video 28 pueden implementarse como uno o mas microprocesadores, procesadores de senales digitales (DSP), circuitos integrados espedficos de la aplicacion (ASIC), matrices de puertas programables por campo (FPGA), logica discreta, software, hardware, firmware o combinaciones de los mismos. Cada uno del codificador de video 22 y del decodificador de video 28 pueden incluirse en uno o mas codificadores o decodificadores, donde cualquiera de los mismos puede estar integrado como parte de un codificador/decodificador combinado (CODEC) en un respectivo dispositivo movil, dispositivo de abonado, dispositivo de radiodifusion, servidor o similar. En esta divulgacion, el termino codificador se refiere a un codificador, un decodificador, o CODEC, y los terminos codificador, decodificador y CODEC se refieren todos a maquinas espedficas disenadas para la codificacion (codificacion y/o decodificacion) de datos de video compatibles con esta divulgacion.
[0033] En algunos casos, los dispositivos 12, 16 pueden funcionar de una manera sustancialmente simetrica. Por ejemplo, cada uno de los dispositivos 12, 16 puede incluir componentes de codificacion y decodificacion de video. Por lo tanto, el sistema 10 puede prestar soporte a la transmision de video unidireccional o bidireccional entre los dispositivos de video 12, 16, por ejemplo, para la transmision continua de video, la reproduccion de video, la radiodifusion de video o la videotelefoda.
[0034] Durante el proceso de codificacion, el codificador de video 22 puede ejecutar varias tecnicas u operaciones de codificacion. En general, el codificador de video 22 funciona en bloques de datos de video compatibles con la norma HEVC. Coherente con la norma HEVC, los bloques de video se denominan unidades de codificacion (CU) y existen muchas CU dentro de tramas de video individuales (u otras unidades de video definidas independientemente, tales como segmentos). Las tramas, los segmentos, las porciones de tramas, los grupos de imagenes u otras estructuras de datos pueden definirse como unidades de informacion de video que incluyan una pluralidad de CU. Las CU pueden tener distintos tamanos compatibles con la norma HEVC, y el flujo de bits puede definir unidades de codificacion (LCU) mas grandes como el mayor tamano de CU. El modo de fusion bipredictivo se puede usar para codificar LCU, CU o posiblemente otros tipos de bloques de video. Con la norma HEVC, las LCU se pueden dividir en CU cada vez mas pequenas de acuerdo con un sistema de particion en arbol cuaternario, y las diferentes CU que se definen en el sistema se pueden particionar ademas en las llamadas unidades de prediccion (PU). Las LCU, las CU y las PU son todas bloques de video en el sentido de esta divulgacion.
[0035] El codificador de video 22 puede realizar una codificacion predictiva en la que un bloque de video que se codifique (por ejemplo, una PU de una CU dentro de una LCU) se compare con uno o mas candidatos predictivos para identificar un bloque predictivo. Este proceso de codificacion predictiva puede ser intra (en cuyo caso los datos predictivos se generan basandose en los intradatos vecinos dentro de la misma trama o segmento de video) o inter (en cuyo caso los datos predictivos se generan basandose en los datos de video en tramas o segmentos anteriores o posteriores). Se puede prestar soporte a muchos modos de codificacion diferentes, y el codificador de video 22 puede seleccionar un modo de codificacion de video deseable. De acuerdo con esta divulgacion, al menos algunos bloques de video pueden codificarse usando el modo de fusion bipredictivo descrito en el presente documento.
[0036] Despues de generar el bloque predictivo, las diferencias entre el bloque de video actual que se este codificando y el bloque predictivo se codifican como un bloque residual, y la sintaxis de prediccion (tal como un vector de movimiento en el caso de la intercodificacion, o un modo predictivo en el caso de la intracodificacion) se usa para identificar el bloque predictivo. Ademas, con el modo de fusion bipredictivo descrito en el presente documento, la sintaxis de prediccion (por ejemplo, los elementos sintacticos) puede identificar dos bloques de video vecinos diferentes a un decodificador de video. Por consiguiente, el decodificador puede identificar dos bloques de video vecinos diferentes codificados en los modos unipredictivos, basandose en los elementos sintacticos, y usar la informacion de movimiento de los dos bloques de video vecinos diferentes para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo.
[0037] El valor residual puede transformarse y cuantizarse. Las tecnicas de transformada pueden comprender un proceso DCT o un proceso conceptualmente similar, transformadas de enteros, transformadas de ondfculas u otros tipos de transformadas. En un proceso DCT, como ejemplo, el proceso de transformada convierte un conjunto de valores de pfxeles (por ejemplo, valores de pfxeles residuales) en coeficientes de transformada, que pueden representar la energfa de los valores de pixel en el dominio de frecuencia. La nueva norma HEVC admite transformaciones de acuerdo con las unidades de transformada (TU), que pueden ser diferentes para diferentes CU. El tamano de las TU se basa tfpicamente en el tamano de las PU dentro de una CU definida dada para una LCU particionada, aunque puede que no sea siempre asf. Las TU son tfpicamente del mismo tamano o de un tamano mas pequeno que las PU.
[0038] La cuantizacion puede aplicarse a los coeficientes de transformada, y en general implica un proceso que limita el numero de bits asociados con cualquier coeficiente de transformada dado. Mas especfficamente, la cuantizacion puede aplicarse de acuerdo con un parametro de cuantizacion (QP) definido al nivel de LCU. Por consiguiente, el mismo nivel de cuantizacion puede aplicarse a todos los coeficientes de transformada en las TU asociadas con diferentes PU de CU dentro de una LCU. Sin embargo, en lugar de senalar el propio QP, un cambio (es decir, un delta) en el QP puede senalarse con la LCU para indicar el cambio en el QP en relacion con el de una LCU anterior.
[0039] Despues de la transformada y la cuantizacion, la codificacion por entropfa se puede realizar en los bloques de video residuales cuantizados y transformados. Los elementos sintacticos tambien pueden incluirse en el flujo de bits codificado por entropfa. En general, la codificacion por entropfa comprende uno o mas procesos que comprimen colectivamente una secuencia de coeficientes de transformada cuantizados y/u otra informacion sintactica. Las tecnicas de escaneo se pueden realizar en los coeficientes de transformada cuantizados para definir uno o mas vectores unidimensionales de coeficientes a partir de bloques de video bidimensionales. Los coeficientes escaneados se codifican por entropfa entonces junto con cualquier informacion sintactica, por ejemplo, a traves de la codificacion de longitud variable adaptativa al contenido (CAVLC), de la codificacion aritmetica binaria adaptativa al contexto (CABAC) o de cualquier otro proceso de codificacion por entropfa.
[0040] Como parte del proceso de codificacion, los bloques de video codificados pueden decodificarse con el fin de generar los datos de video que se usan para la posterior codificacion basada en la prediccion de los bloques de video posteriores. A menudo, esto se denomina bucle de decodificacion del proceso de codificacion, y en general imita la decodificacion que se realiza por un dispositivo decodificador. En el bucle de decodificacion de un codificador o decodificador, se pueden usar tecnicas de filtrado para mejorar la calidad del video y, por ejemplo, suavizar los lfmites de pfxeles y posiblemente eliminar los fallos del video decodificado. Este filtrado se puede realizar en bucle o posterior al bucle. Con el filtrado en bucle, el filtrado de los datos de video reconstruidos se produce en el bucle de codificacion, lo que significa que los datos filtrados se almacenan por un codificador o un decodificador para su uso posterior en la prediccion de los datos de imagen posteriores. En contraste, con el filtrado posterior al bucle, el filtrado de los datos de video reconstruidos se produce fuera del bucle de codificacion, lo que significa que las versiones sin filtrar de los datos se almacenan por un codificador o un decodificador para su uso posterior en la prediccion de los datos de imagen posteriores. El filtrado de bucle sigue a menudo un proceso de filtrado de desbloqueo independiente, que aplica tfpicamente el filtrado a los pfxeles que estan en o cerca de los lfmites de bloques de video adyacentes con el fin de eliminar los fallos de bloqueo que se manifiesten en los lfmites del bloque de video.
[0041] En relacion con las normas de codificacion anteriores, la nueva norma HEVC introduce nuevos terminos y tamanos de bloque para los bloques de video. En particular, la HEVC se refiere a unidades de codificacion (CU), que se pueden particionar de acuerdo con un sistema de particion en arbol cuaternario. Una "LCU" se refiere a la unidad de codificacion de mayor tamano (por ejemplo, la "unidad de codificacion mas grande") soportada en una situacion dada. El tamano de la LCU puede senalarse como parte del flujo de bits, por ejemplo, como sintaxis de nivel de secuencia. La LCU se puede particionar en CU mas pequenas. Ademas, las CU se pueden particionar en unidades de prediccion (PU) con fines de prediccion. Las PU pueden tener forma cuadrada o rectangular. Las transformadas no se fijan en la nueva norma HEVC, pero se definen de acuerdo con los tamanos de unidad de transformada (TU), que pueden ser del mismo tamano que una CU determinada, o posiblemente mas pequenos. Los datos residuales para una CU dada pueden comunicarse en las TU. Los elementos sintacticos se pueden definir en el nivel de LCU, el nivel de CU, el nivel de PU y el nivel de TU.
[0042] Para ilustrar bloques de video de acuerdo con el estandar HEVC, la FIG. 2 muestra conceptualmente una LCU de profundidad 64 por 64, que se particiona entonces en CU mas pequenas de acuerdo con un sistema de particion en arbol cuaternario. Los elementos llamados "indicadores divididos" pueden incluirse como una sintaxis de nivel de CU para indicar si alguna CU determinada esta subdividida en cuatro CU mas. En la FIG. 2, CU0 puede comprender la LCU, CU1 a CU4 puede comprender subCU de la LCU. Los elementos sintacticos de modo de fusion bipredictivos, como se describen en esta divulgacion, pueden definirse a nivel de CU (o posiblemente al nivel de LCU si la LCU no esta dividida en CU mas pequenas). El modo de fusion bipredictivo tambien podrfa recibir soporte para las PU de CU, en algunos ejemplos.
[0043] La FIG. 3 ilustra ademas una posible relacion entre CU, PU y TU, que puede ser compatible con la norma HEVC emergente o con otras normas. Sin embargo, tambien son posibles otras relaciones, y la FIG. 3 se muestra meramente como un posible ejemplo. En este caso, cualquier CU dada de una LCU puede particionarse en PU, tales como las ilustradas en la FIG. 3. El tipo de PU para una CU dada se puede senalar como sintaxis de nivel de CU. Como se muestra en la FIG. 3, las PU de tipo simetrico y las PU de tipo asimetrico se pueden definir para una CU determinada. Ademas, se pueden definir dos estructuras de TU diferentes para cada una de las cuatro PU de tipo simetrico y las PU de tipo asimetrico. Por tanto, un elemento sintactico de un bit (indicador de tamano de TU) se puede usar para senalar el tamano de TU, que tambien puede depender del tipo de PU (simetrico o asimetrico). Los patrones de bloques codificados (CBP) se pueden definir para una LCU para indicar si alguna CU dada incluye coeficientes de transformada distintos de cero (por ejemplo, si hay TU presentes).
[0044] En otros ejemplos, las TU pueden definirse de manera diferente a la mostrada en la FIG. 3. En algunos ejemplos, las muestras residuales correspondientes a una CU pueden subdividirse en unidades mas pequenas mediante una estructura en arbol cuaternario conocida como «arbol cuaternario residual» (RQT). Los nodos hoja del RQT pueden denominarse unidades de transformada (TU). En algunos casos, las TU pueden definirse para una CU de acuerdo con una estructura de arbol cuaternario, pero las TU pueden no depender necesariamente de las PU definidas para cualquier CU determinada. Las PU usadas para la prediccion pueden definirse por separado de las TU de cualquier UC. Son posibles varios tipos diferentes de sistemas de particion para CU, TU y PU.
[0045] La FIG. 4 es un diagrama de bloques que ilustra un codificador de video 50 compatible con esta divulgacion. El codificador de video 50 puede corresponder al codificador de video 22 del dispositivo 20 o a un codificador de video de un dispositivo diferente. Como se muestra en la FIG.4, el codificador de video 50 incluye una unidad de codificacion de prediccion 32, una unidad de particion en arbol cuaternario 31, sumadores 48 y 51 y una memoria 34. El codificador de video 50 tambien incluye una unidad de transformada 38 y una unidad de cuantizacion 40, asf como una unidad de cuantizacion inversa 42 y una unidad de transformada inversa 44. El codificador de video 50 tambien incluye una unidad de codificacion por entropfa 46 y una unidad de filtro 47, que puede incluir filtros de desbloqueo y filtros de bucle posterior y/o en bucle. Los datos de video codificados y la informacion sintactica que define la manera de la codificacion pueden comunicarse a la unidad de codificacion por entropfa 46, que realiza la codificacion por entropfa en el flujo de bits.
[0046] Como se muestra en la FIG. 4, la unidad de codificacion de prediccion 32 puede prestar soporte a una pluralidad de diferentes modos de codificacion 35 en la codificacion de bloques de video. Los modos 35 pueden incluir modos de intercodificacion que definan datos predictivos de diferentes tramas de video (o segmentos). Los modos de intercodificacion pueden ser bipredictivos, lo que significa que se usan dos listas diferentes (por ejemplo, Lista 0 y Lista 1) de datos predictivos (y tfpicamente dos vectores de movimiento diferentes) para identificar los datos predictivos. Los modos de intercodificacion pueden ser de forma alternativa unipredictivos, lo que significa que se usa una lista (por ejemplo, Lista 0) de datos predictivos (y tfpicamente un vector de movimiento) para identificar los datos predictivos. Las interpolaciones, las compensaciones u otras tecnicas se pueden realizar junto con la generacion de datos predictivos. Tambien se puede prestar soporte a los llamados modos SKIP y DIRECT, que heredan la informacion de movimiento asociada con un bloque coubicado de otra trama (o segmento). Los bloques del modo SKIP no incluyen informacion residual, mientras que los bloques del modo DIRECT incluyen informacion residual.
[0047] Ademas, los modos 35 pueden incluir modos de intercodificacion, que definen datos predictivos basados en datos dentro de la misma trama de video (o segmento) que la que se este codificando. Los modos de intracodificacion pueden incluir modos direccionales que definan datos predictivos basados en datos en una direccion particular dentro de la misma trama, asf como modos DC y/o planares que definan datos predictivos basados en el promedio o en el promedio ponderado de los datos vecinos. La unidad de codificacion de prediccion 32 puede seleccionar el modo para un bloque dado basandose en algunos criterios, tal como el que se basa en un analisis de distorsion de la velocidad o en algunas caracterfsticas del bloque, tal como el tamano del bloque, la textura u otras caracterfsticas.
[0048] De acuerdo con esta divulgacion, la unidad de codificacion de prediccion 32 presta soporte a un modo de fusion bipredictivo 35X. Con el modo de fusion bipredictivo 35X, un bloque de video que se codifique hereda la informacion de movimiento de dos bloques vecinos diferentes, en la que los dos bloques vecinos diferentes se codificaron cada uno en un modo unipredictivo. Por tanto, el bloque de video se codifica con dos vectores de movimiento diferentes que proceden de dos bloques de video vecinos diferentes. En este caso, la unidad de codificacion de prediccion 32 emite una indicacion de que el modo de fusion bipredictivo se uso para un bloque dado, y emite elementos sintacticos que identifican los dos vecinos unipredictivos diferentes que definen colectivamente la informacion de movimiento para el bloque bipredictivo actual. Los bloques predictivos asociados con el modo de fusion bipredictivo se pueden combinar en un bloque bipredictivo (posiblemente usando factores de ponderacion), y el bloque bipredictivo se puede restar del bloque que se este codificando (a traves del sumador 48) para definir los datos residuales asociados con el bloque codificado en el modo de fusion bipredictivo.
[0049] La informacion de movimiento puede comprender dos vectores de movimiento unipredictivos diferentes asociados con los dos bloques de video vecinos diferentes. Estos dos vectores de movimiento unipredictivos diferentes se pueden usar como los dos vectores de movimiento bipredictivos del bloque de video actual. La informacion de movimiento puede comprender ademas dos valores de mdice de referencia asociados con los dos vectores de movimiento unipredictivos diferentes, en la que los valores de mdice de referencia identifican una o mas listas de datos predictivos asociados con los dos vectores de movimiento unipredictivos diferentes. De nuevo, los datos residuales pueden generarse como la diferencia entre el bloque que se este codificando y los datos predictivos definidos por los dos vectores de movimiento unipredictivos diferentes que definan colectivamente el bloque de fusion bipredictivo usado en la prediccion.
[0050] En el caso de HEVC, el bloque de video actual que se este codificando puede comprender una llamada CU definida en relacion con una LCU de acuerdo con un sistema de particion en arbol cuaternario. En este caso, la unidad de particion en arbol cuaternario 31 puede generar datos sintacticos de LCU que definan el sistema de particion en arbol cuaternario, y la unidad de codificacion de prediccion 32 puede generar informacion de modo para la CU que defina el modo de fusion bipredictivo, en el que uno o mas elementos sintacticos (que identifique los dos vecinos unipredictivos) se incluyen en la informacion de modo para la CU.
[0051] El modo de fusion bipredictivo descrito puede aumentar el numero de candidatos bipredictivos que pueden usarse en el contexto de la codificacion del modo de fusion. Por ejemplo, si ninguno de los vecinos se codifica en el modo bipredictivo, el modo de fusion bipredictivo descrito puede permitir que se aproveche la biprediccion combinando la informacion de movimiento de dos vecinos para predecir el bloque de video actual. Ademas, incluso si uno o mas vecinos se codifican en el modo bipredictivo, la combinacion de dos vecinos unidireccionales de acuerdo con el modo de fusion bipredictivo descrito puede proporcionar ganancias de codificacion en algunas situaciones.
[0052] En general, durante el proceso de codificacion, el codificador de video 50 recibe datos de video de entrada. La unidad de codificacion de prediccion 32 realiza tecnicas de codificacion predictiva en bloques de video (por ejemplo, CU y PU). La unidad de particion en arbol cuaternario 31 puede romper una LCU en CU y PU mas pequenas de acuerdo con la particion de HEVC explicada anteriormente con referencia a las FIGS. 2 y 3. Para la intercodificacion, la unidad de codificacion de prediccion 32 compara CU o PU con diversos candidatos predictivos en una o mas tramas o segmentos de referencia de video (por ejemplo, una o mas "listas" de datos de referencia) para definir un bloque predictivo. Para la intracodificacion, la unidad de codificacion de prediccion 32 genera un bloque predictivo basado en datos vecinos dentro de la misma trama o segmento de video. La unidad de codificacion de prediccion 32 genera el bloque de prediccion y el sumador 48 resta el bloque de prediccion de la CU o la PU que se esten codificando para generar un bloque residual. De nuevo, al menos algunos bloques de video pueden codificarse usando el modo de fusion bipredictivo descrito en el presente documento.
[0053] La FIG. 5 ilustra un ejemplo de la unidad de codificacion de prediccion 32 del codificador de video 50 con mayor detalle. La unidad de codificacion de prediccion 32 puede incluir una unidad de seleccion de modo 75 que seleccione el modo deseado de los modos 35, que incluyen el modo de fusion bipredictivo 35X como una posibilidad. Para la intercodificacion, la unidad de codificacion de prediccion 32 puede comprender la unidad de estimacion de movimiento (ME) 76 y la unidad de compensacion de movimiento (MC) 77 que identifican uno o mas vectores de movimiento que apuntan a datos predictivos, y genera el bloque de prediccion basado en el vector de movimiento. Tfpicamente, la estimacion de movimiento se considera el proceso de generar uno o mas vectores de movimiento, que estiman el movimiento. Por ejemplo, el vector de movimiento puede indicar el desplazamiento de un bloque predictivo dentro de una trama predictiva en relacion con el bloque actual que se este codificando dentro de la trama actual. En el caso del modo de fusion bipredictivo 35X, dos vectores de movimiento unidireccionales de dos vecinos se combinan para crear una prediccion bidireccional.
[0054] La compensacion por movimiento se considera tfpicamente el proceso de extraer o generar el bloque (o bloques) predictivo basandose en el vector de movimiento determinado por la estimacion de movimiento. En algunos casos, la compensacion de movimiento para la intercodificacion puede incluir interpolaciones a la resolucion de subpfxeles, lo que permite que el proceso de estimacion de movimiento estime el movimiento de los bloques de video a dicha resolucion de subpfxeles. Tambien se pueden usar combinaciones ponderadas de dos bloques (en el caso de la biprediccion).
[0055] Para la intracodificacion, la unidad de codificacion de prediccion 32 puede comprender la unidad de intraprediccion 78. En este caso, los datos predictivos se pueden generar basandose en los datos dentro del bloque de video actual (por ejemplo, adyacente al bloque de video que se este codificando). De nuevo, los modos de intracodificacion pueden incluir modos direccionales que definan datos predictivos basados en datos en una direccion particular dentro de la misma trama, asf como modos de DC y/o planares que definan datos predictivos basados en el promedio o en el promedio ponderado de los datos vecinos.
[0056] La unidad de distorsion de frecuencia (R-D) 79 puede comparar los resultados de codificacion de bloques de video (por ejemplo, CU o PU) en diferentes modos. Ademas, la unidad R-D 79 puede permitir otros tipos de ajustes de parametros, tales como ajustes a interpolaciones, compensaciones, parametros de cuantizacion u otros factores que puedan afectar la velocidad de codificacion. La unidad de seleccion de modo 75 puede analizar los resultados de codificacion en terminos de velocidad de codificacion (es decir, bits de codificacion requeridos para el bloque) y distorsion (por ejemplo, que represente la calidad del video del bloque codificado en relacion con el bloque original) para realizar selecciones de modo para bloques de video. De esta manera, la unidad R-D 79 proporciona un analisis de los resultados de diferentes modos para permitir que la unidad de seleccion de modo 75 seleccione el modo deseado para diferentes bloques de video. Compatible con esta divulgacion, el modo de fusion bipredictivo 35X puede seleccionarse cuando la unidad R-D 79 lo identifique como el modo deseado para un bloque de video dado, por ejemplo, debido a las ganancias de codificacion o a la eficiencia de codificacion.
[0057] Con referencia de nuevo a la FIG. 4, despues de que la unidad de codificacion de prediccion 32 emita el bloque de prediccion, y despues de que el sumador 48 reste el bloque de prediccion del bloque de video que se este codificando con el fin de generar un bloque residual de valores de pfxeles residuales, la unidad de transformada 38 aplica una transformada al bloque residual. La transformada puede comprender una transformada de coseno discreta (DCT) o una transformada conceptualmente similar a la definida por la norma H.264 de la ITU o la norma HEVC. Las llamadas estructuras "mariposa" pueden definirse para realizar las transformadas, o tambien podrfa usarse la multiplicacion basada en matrices. En algunos ejemplos, de acuerdo con la norma HEVC, el tamano de la transformada puede variar para diferentes CU, por ejemplo, dependiendo del nivel de particion que se produzca con respecto a una LCU determinada. Las unidades de transformada (TU) se pueden definir para establecer el tamano de transformada aplicado por la unidad de transformada 38. Tambien podrfan usarse transformadas de ondfculas, transformadas de numeros enteros, transformadas de subbandas u otros tipos de transformadas. En cualquier caso, la unidad de transformada 52 aplica la transformada al bloque residual, produciendo un bloque de coeficientes de transformada residuales. La transformada puede convertir en general la informacion residual de un dominio de pixel en un dominio de frecuencia.
[0058] La unidad de cuantizacion 40 cuantiza entonces los coeficientes de transformada residuales para reducir mas la tasa de bits. La unidad de cuantizacion 40, por ejemplo, puede limitar el numero de bits usados para codificar cada uno de los coeficientes. En particular, la unidad de cuantizacion 40 puede aplicar el QP delta definido para la LCU a fin de definir el nivel de cuantizacion que se vaya a aplicar (por ejemplo, combinando el QP delta con el QP de la LCU anterior o algun otro QP conocido). Despues de realizar la cuantizacion en muestras residuales, la unidad de codificacion por entropfa 46 puede escanear y codificar por entropfa los datos.
[0059] CAVLC es un tipo de tecnica de codificacion por entropfa soportada por la norma H.264 de la ITU y la nueva norma HEVC, que puede aplicarse de forma vectorializada por la unidad de codificacion por entropfa 46. CAVLC usa tablas de codificacion de longitud variable (VLC) de una manera que comprime efectivamente las "ejecuciones" serializadas de coeficientes y/o elementos sintacticos. CABAC es otro tipo de tecnica de codificacion por entropfa soportada por la norma H.264 de la ITU o la norma HEVC, que puede aplicarse de forma vectorializada por la unidad de codificacion por entropfa 46. CABAC puede implicar varias etapas, incluida la binarizacion, la seleccion del modelo de contexto y la codificacion aritmetica binaria. En este caso, la unidad de codificacion por entropfa 46 codifica los coeficientes y los elementos sintacticos de acuerdo con CABAC. Tambien existen muchos otros tipos de tecnicas de codificacion por entropfa, y en el futuro probablemente apareceran nuevas tecnicas de codificacion por entropfa. Esta divulgacion no se limita a ninguna tecnica especffica de codificacion por entropfa.
[0060] Tras la codificacion por entropfa realizada por la unidad de codificacion por entropfa 46, el video codificado puede transmitirse a otro dispositivo o archivarse para su transmision o recuperacion posterior. El video codificado puede comprender los vectores codificados por entropfa y diversas informaciones de sintaxis (incluida la informacion sintactica que define dos vecinos en el caso del modo de fusion bipredictivo). El decodificador puede usar dicha informacion para configurar correctamente el proceso de decodificacion. La unidad de cuantizacion inversa 42 y la unidad de transformada inversa 44 aplican la cuantizacion inversa y la transformada inversa, respectivamente, para reconstruir el bloque residual en el dominio del pixel. El sumador 51 suma el bloque residual reconstruido al bloque de prediccion producido por la unidad de codificacion de prediccion 32 para producir un bloque de video reconstruido para su almacenamiento en la memoria 34. Sin embargo, antes de dicho almacenamiento, la unidad de filtro 47 puede aplicar un filtrado al bloque de video para mejorar la calidad de video. El filtrado aplicado por la unidad de filtro 47 puede reducir los fallos y suavizar los lfmites de los pfxeles. Ademas, el filtrado puede mejorar la compresion generando bloques de video predictivos que comprendan coincidencias aproximadas con los bloques de video que se esten codificando.
[0061] De acuerdo con esta divulgacion, se presta soporte al modo de fusion bipredictivo 35X que hereda la informacion de movimiento de dos bloques vecinos diferentes, en el que los dos bloques vecinos diferentes se codificaron cada uno en un modo unipredictivo. El modo de fusion bipredictivo 35X descrito puede aumentar el numero de candidatos bipredictivos que pueden usarse en el contexto de la codificacion del modo de fusion. Por consiguiente, la unidad R-D 79 (FIG. 5) puede identificar el modo de fusion bipredictivo 35X como el modo de codificacion mas deseable debido a las ganancias de codificacion logradas por este modo en relacion con otros modos. En dichos casos, la unidad de seleccion de modo 75 puede seleccionar el modo de fusion bipredictivo 35X para codificar bloques de video.
[0062] La FIG. 6 es un diagrama de bloques que ilustra un ejemplo de un decodificador de video 60, que puede decodificar una secuencia de video que se codifique de la manera descrita en el presente documento. Las tecnicas de esta divulgacion pueden realizarse por el decodificador de video 60 en algunos ejemplos. En particular, el decodificador de video 60 recibe uno o mas elementos sintacticos para un bloque de video actual, en el que el bloque de video actual se codifica de acuerdo con un modo de fusion bipredictivo y, basandose en uno o mas elementos sintacticos, identifica dos bloques de video vecinos diferentes codificados en los modos unipredictivos. El decodificador de video 60 usa entonces la informacion de movimiento de los dos bloques de video vecinos diferentes para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo.
[0063] Una secuencia de video recibida en el decodificador de video 60 puede comprender un conjunto codificado de tramas de imagenes, un conjunto de segmentos de trama, un grupo codificado comunmente de imagenes (GOP) o una gran variedad de unidades de informacion de video que incluyan LCU codificadas (u otros bloques de video) e informacion sintactica para definir como decodificar dichas LCU. El proceso de decodificacion de las lCu puede incluir la decodificacion de una indicacion del modo de codificacion, que puede ser el modo de fusion bipredictivo descrito en el presente documento.
[0064] El decodificador de video 60 incluye una unidad de decodificacion por entropfa 52, que realiza la funcion de decodificacion recfproca de la codificacion realizada por la unidad de codificacion por entropfa 46 de la FIG. 2. En particular, la unidad de decodificacion por entropfa 52 puede realizar la decodificacion CAVLC o CABAC, o cualquier otro tipo de decodificacion de entropfa usada por el codificador de video 50. El decodificador de video 60 tambien incluye una unidad de decodificacion de prediccion 54, una unidad de cuantizacion inversa 56, una unidad de transformada inversa 58, una memoria 62 y un sumador 64. En particular, como el codificador de video 50, el decodificador de video 60 incluye una unidad de decodificacion de prediccion 54 y una unidad de filtro 57. La unidad de decodificacion de prediccion 54 del decodificador de video 60 puede incluir la unidad de compensacion de movimiento 86, que decodifica bloques intercodificados y posiblemente incluye uno o mas filtros de interpolacion para la interpolacion de subpfxeles en el proceso de compensacion de movimiento. La unidad de decodificacion de prediccion 54 tambien puede incluir una unidad de intraprediccion para decodificar intramodos. La unidad de decodificacion de prediccion 54 puede prestar soporte a una pluralidad de modos 35, incluido el modo de fusion bipredictivo 55X. La unidad de filtro 57 puede filtrar la salida del sumador 64, y puede recibir informacion de filtro decodificado por entropfa a fin de definir los coeficientes de filtro aplicados en el filtrado de bucle.
[0065] T ras recibir datos de video codificados, la unidad de decodificacion de entropfa 52 realiza una decodificacion recfproca a la codificacion realizada por la unidad de codificacion por entropfa 46 (del codificador 50 en la FIG. 4). En el decodificador, la unidad de decodificacion por entropfa 52 analiza el flujo de bits para determinar las LCU y la particion correspondiente asociada con las LCU. En algunos ejemplos, una LCU o las CU de la LCU pueden definir los modos de codificacion que se usaron, y estos modos de codificacion pueden incluir el modo de fusion bipredictivo. Por consiguiente, la unidad de decodificacion por entropfa 52 puede enviar la informacion sintactica a la unidad de prediccion que identifique el modo de fusion bipredictivo. En este caso, la informacion sintactica puede incluir uno o mas elementos sintacticos que identifiquen dos bloques de video vecinos diferentes codificados en los modos unipredictivos. En este caso, la unidad MC 86 de la unidad de decodificacion de prediccion 54 puede usar la informacion de movimiento de los dos bloques de video vecinos diferentes para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo. Es decir, la unidad MC 86 puede buscar datos predictivos identificados por la informacion de movimiento de los dos bloques de video vecinos diferentes, y usar alguna combinacion de estos datos predictivos para decodificar el bloque de video actual en el modo de fusion bipredictivo.
[0066] La FIG. 7 es una ilustracion conceptual que muestra un ejemplo de cinco vecinos diferentes que se pueden tener en cuenta con los fines del modo de fusion bipredictivo. En este ejemplo, el vecino superior (T), el vecino superior derecho (TR), el vecino izquierdo (L), el vecino inferior izquierdo (BL) y el vecino temporal coubicado (Temp) desde otra trama de video se pueden tener en cuenta con los fines del modo de fusion bipredictivo. Por supuesto, otros vecinos (espaciales o temporales) tambien podrfan usarse para cualquier herencia de modo de fusion de la informacion de movimiento.
[0067] De nuevo, con el modo de fusion, el bloque de video actual puede heredar toda la informacion de movimiento de un bloque candidato vecino. Eso significa que el bloque actual tendra el mismo vector de movimiento, la misma trama de referencia y el mismo modo de prediccion (uniprediccion o biprediccion) que el bloque vecino seleccionado. El bloque vecino seleccionado puede senalarse como parte de un flujo de bits codificado, pero la informacion de movimiento no necesita senalarse porque el decodificador puede obtener la informacion de movimiento del bloque vecino seleccionado.
[0068] Compatible con esta divulgacion, se presta soporte a un modo de fusion bipredictivo, que hereda la informacion de movimiento de dos bloques vecinos diferentes, en el que cada uno de los dos bloques vecinos diferentes se codifico en un modo unipredictivo. El modo de fusion bipredictivo descrito puede aumentar el numero de candidatos bipredictivos que pueden usarse en el contexto del modo de fusion. En lugar de senalar a un vecino, el modo de fusion bipredictivo puede senalar a dos vecinos diferentes. El modo de fusion bipredictivo puede ser una extension de un modo de fusion convencional incrementando simplemente los bloques vecinos candidatos para incluir combinaciones de los mismos, o puede ser un modo completamente independiente en relacion con un modo de fusion convencional.
[0069] Suponiendo los bloques vecinos candidatos espaciales y temporales mostrados en la FIG. 1, el modo de fusion bipredictivo descrito puede funcionar en al menos dos escenarios. En un primer escenario, todos los bloques candidatos vecinos estan codificados en los modos unipredictivos. En este caso, se puede seleccionar cualquiera de los dos bloques candidatos, y la informacion de movimiento de ambos candidatos seleccionados se puede combinar para lograr una biprediccion. Por ejemplo, supongamos que los bloques vecinos mostrados en la FlG. 7 se codifican de acuerdo con la siguiente informacion:
L: unipred, L0, refldx = 0
T: unipred, L1, refldx = 0
TR: unipred, L0, refldx = 1
BL: unipred, L0, refldx = 0
Temp: unipred, L1, refldx = 1
En este caso, hay 10 combinaciones de dos de cada cinco candidatos. L0 se refiere a una primera lista de datos predictivos, y L1 se refiere a una segunda lista de datos predictivos. El refldx puede comprender un fndice a una imagen particular en la respectiva lista. El codificador de video puede seleccionar la mejor combinacion (por ejemplo, en terminos de velocidad de codificacion y distorsion) y puede enviar informacion sintactica que identifique los dos bloques vecinos seleccionados. El decodificador puede decodificar la informacion sintactica y obtener la informacion de movimiento de los bloques vecinos seleccionados.
[0070] En un segundo escenario, al menos uno de los bloques vecinos candidatos puede codificarse en un modo bipredictivo. En este caso, cualquiera de los dos bloques vecinos unipredictivos se puede tener en cuenta (en combinacion) para obtener un candidato de modo de fusion bipredictivo. Sin embargo, cualquier bloque bipredictivo tambien se puede usar solo por consideracion como un candidato de fusion bipredictivo. Por ejemplo, supongamos que los bloques vecinos mostrados en la FIG. 7 se codifican de acuerdo con la siguiente informacion:
L: bipred, L0, refldx = 0, L1, refldx = 0
T: unipred, L1, refldx = 0
TR: unipred, L0, refldx = 1
BL: unipred, L0, refldx = 0
Temp: bipred, L0, refldx = 0, L1, refldx = 1
De nuevo, L0 puede comprender un valor que se refiera a una primera lista de datos predictivos, L1 puede comprender un valor que se refiera a una segunda lista de datos predictivos, y refldx pueden ser valores que definan indices para una imagen particular en la respectiva lista. En este segundo ejemplo, dos de los cinco candidatos ya estan en el modo bipredictivo, por lo que estos pueden tenerse en cuenta solos con los fines de los modos de fusion bipredictivos. Ademas, se pueden tener en cuenta diferentes combinaciones de los tres candidatos unipredictivos restantes. Entonces, en este caso, habra 5 posibilidades de modo bipredictivo:
1. L
2. Temp
3. T TR
4. T BL
5. TR BL
[0071] En este segundo ejemplo, el codificador puede seleccionar el mejor vecino (o combinacion de vecinos) de estas cinco posibilidades (por ejemplo, en terminos de velocidad de codificacion y distorsion), y puede enviar informacion sintactica que identifique que vecino individual o combinacion de vecinos se uso en el modo de fusion. El decodificador puede decodificar la informacion sintactica y obtener la informacion de movimiento del o de los bloques vecinos seleccionados.
[0072] En el ejemplo de la FIG. 7, se muestran cinco candidatos. Sin embargo, tambien pueden tenerse en cuenta candidatos adicionales en las mismas zonas que los candidatos de la FIG. 7 o en otras zonas. En algunos casos, puede haber varios candidatos superiores (T), varios candidatos superiores izquierdos (TL), varios candidatos izquierdos (L), varios candidatos inferiores izquierdos (BL) y varios candidatos temporales (T). En algunos casos, el tamano del bloque actual puede diferir del de los candidatos, en cuyo caso el borde superior o el borde izquierdo del bloque actual pueden ser adyacentes a varios candidatos. En otros casos, los candidatos que se encuentran a distancias incluso mas alejadas del bloque de video actual pueden tenerse en cuenta con los fines del modo de fusion bipredictivo descrito en esta divulgacion. Muchos escenarios diferentes que usen muchos candidatos diferentes son posiblemente compatibles con esta divulgacion. Por tanto, la FIG. 7 es meramente un ejemplo que ilustra cinco candidatos vecinos en relacion con el bloque de video actual.
[0073] La FIG. 8 es un diagrama de flujo que ilustra una tecnica de decodificacion compatible con esta divulgacion. La FIG. 8 se describira desde la perspectiva del decodificador de video 60 de la FIG. 6, aunque otros dispositivos pueden realizar tecnicas similares. Como se muestra en la FIG. 8, el decodificador de video 60 recibe una LCU que incluye elementos sintacticos para la LCU y para las CU dentro de la LCU (801). En particular, la unidad de decodificacion por entropfa 52 puede recibir un flujo de bits que incluye la LCU y analizar el flujo de bits para identificar los elementos sintacticos, que pueden enviarse a la unidad de decodificacion de prediccion 54. Por consiguiente, la unidad de decodificacion de prediccion 54 tiene modos de las CU basadas en los elementos sintacticos. En otros ejemplos, los modos pueden definirse en el nivel de PU en lugar de en el nivel de CU.
[0074] Al determinar los modos, la unidad de decodificacion de prediccion 54 identifica cualquier CU codificada en el modo de fusion bipredictivo (803). Si no se codifica ninguna CU en el modo de fusion bipredictivo ("no" 803), entonces esa CU se decodifica de acuerdo con su modo (804). Por ejemplo, se puede prestar soporte a muchos intramodos diferentes y a muchos intermodos diferentes. Si alguna CU se codifica en el modo de fusion bipredictivo ("sP 803), entonces esta CU es bipredictiva. Sin embargo, sus vectores de movimiento para la biprediccion proceden de dos vecinos unidireccionales como se analiza en el presente documento. En este caso, la unidad MC 86 de la unidad de decodificacion de prediccion 54 identifica dos vecinos unipredictivos diferentes a la CU basada en el elemento sintactico de la CU (805), y usa la informacion de movimiento de los vecinos unipredictivos para decodificar la CU bipredictiva.
[0075] La FIG. 9 es un diagrama de flujo que ilustra una tecnica de codificacion compatible con esta divulgacion. La FIG. 9 se describira desde la perspectiva del decodificador de video 50 de la FIG. 4 aunque otros dispositivos pueden realizar tecnicas similares. Como se muestra en la FIG. 9, la unidad de codificacion de prediccion 32 selecciona un modo de fusion bipredictivo para una CU. Por ejemplo, la unidad de codificacion de prediccion 32 (vease la FIG. 5) puede incluir una unidad de seleccion de modo 75 que selecciona el modo de fusion bipredictivo 35X para una CU basada en una pluralidad de modos posibles 35. La unidad R-D 75 puede identificar la velocidad de codificacion y el nivel de calidad o distorsion asociados con diferentes modos al analizar los resultados de la codificacion por la unidad ME 76 y la unidad MC 77 para diversos intermodos y al analizar los resultados de la codificacion por la unidad de intraprediccion 78 para los intramodos. De esta forma, la unidad de seleccion de modo 75 puede identificar el mejor modo para cualquier situacion dada.
[0076] Una vez que la unidad de codificacion de prediccion 32 selecciona el modo de fusion bipredictivo 35X para una CU, la unidad de prediccion identifica dos bloques vecinos diferentes codificados en los modos unipredictivos (902). Este proceso de identificacion de los dos bloques vecinos diferentes codificados en los modos unipredictivos puede realizarse por la unidad ME 76 de manera similar a la descrita anteriormente. Por ejemplo, la unidad ME 76 y la unidad MC 77 pueden generar resultados de codificacion de diferentes combinaciones de informacion de movimiento de diferentes vecinos unidireccionales, y estos resultados pueden analizarse por la unidad R-D 75 para determinar la velocidad de codificacion y la calidad o la distorsion asociada con dichas combinaciones diferentes. Finalmente, la unidad R-D 75 puede determinar que combinacion de modo de fusion bipredictivo de vecinos unipredictivos produce los mejores resultados de codificacion.
[0077] Por consiguiente, la unidad de codificacion de prediccion 32 usa la informacion de movimiento de la mejor combinacion de dos vecinos unipredictivos para codificar la CU como bipredictiva (903). Por supuesto, cualquier vecino bipredictivo tambien puede tenerse en cuenta, y posiblemente usarse para la codificacion del modo de fusion si los resultados de distorsion de velocidad son mejores que usar dos vecinos unipredictivos. La unidad de prediccion 32 (por ejemplo, la unidad ME 76 o la unidad de MC 77) genera uno o mas elementos sintacticos para que la Cu identifique los dos vecinos unipredictivos diferentes usados para la codificacion del modo de fusion bipredictivo de la CU. Los elementos sintacticos, por ejemplo, pueden comprender valores de fndice que identifiquen a dos de los vecinos de la CU, tal como el vecino izquierdo (L), el vecino inferior izquierdo (BL), el vecino superior (T), el vecino superior derecho (TR), o el vecino temporal (T) coubicado como se ilustra conceptualmente en la FIG. 7. Sin embargo, tambien se pueden usar muchos otros sistemas de senalizacion para los elementos sintacticos.
[0078] Las tecnicas de esta divulgacion se pueden realizar en una gran diversidad de dispositivos o aparatos, incluidos un telefono inalambrico, un circuito integrado (IC) o un conjunto de IC (es decir, un conjunto de chips). Se ha descrito cualquier componente, modulo o unidad proporcionado para enfatizar aspectos funcionales y no necesariamente requieren la realizacion por diferentes unidades de hardware.
[0079] Por consiguiente, las tecnicas descritas en el presente documento pueden implementarse en hardware, software, firmware o cualquier combinacion de los mismos. Todas las caracterfsticas descritas como modulos o componentes pueden implementarse juntas en un dispositivo logico integrado o por separado, como dispositivos logicos discretos pero interoperables. Si se implementan en software, las tecnicas pueden realizarse al menos parcialmente mediante un medio legible por ordenador que comprende instrucciones que, al ejecutarse en un procesador, realizan uno o mas de los procedimientos descritos anteriormente. El medio de almacenamiento de datos legible por ordenador puede formar parte de un producto de programa informatico, que puede incluir materiales de embalaje.
[0080] El medio legible por ordenador puede comprender un medio tangible de almacenamiento legible por ordenador, tal una como memoria de acceso aleatorio (RAM) tal como memoria de acceso aleatorio dinamica sfncrona (SDRAM), una memoria de solo lectura (ROM), una memoria de acceso aleatorio no volatil (NVRAM), una memoria de solo lectura programable y borrable electricamente (EEPROM), una memoria FLASH, medios de almacenamiento de datos magneticos u opticos, y similares. Las tecnicas pueden realizarse adicionalmente, o de forma alternativa, al menos parcialmente por un medio de comunicacion legible por ordenador que lleve o comunique un codigo en forma de instrucciones o estructuras de datos y al que pueda accederse, y que pueda leerse y/o ejecutarse por un ordenador.
[0081] Las instrucciones pueden ejecutarse por uno o mas procesadores, tales como uno o mas procesadores de senales digitales (DSP), microprocesadores de uso general, circuitos integrados especfficos de la aplicacion (ASIC), matrices logicas programables por campo (FPGA) u otros circuitos logicos, integrados o discretos, equivalentes. El termino «procesador», como se usa en el presente documento, puede referirse a cualquiera de las estructuras anteriores o a cualquiera de otra estructura adecuada para la implementacion de las tecnicas descritas en el presente documento. Ademas, en algunos aspectos, la funcionalidad descrita en el presente documento puede proporcionarse dentro de software o hardware dedicados configurados para codificar y decodificar, o incorporarse en un codificadordecodificador de video combinado (CODEC). Tambien, las tecnicas se podrfan implementar completamente en uno o mas circuitos o elementos logicos.

Claims (12)

  1. REIVINDICACIONES
    Un procedimiento para codificacion de datos de video, el procedimiento que comprende:
    seleccionar un modo de fusion bipredictivo para codificar un bloque de video actual;
    identificar un primer conjunto de dos bloques de video vecinos diferentes codificados en los modos unipredictivos de un conjunto de bloques vecinos candidatos, el conjunto de bloques vecinos candidatos que comprende un vecino superior, un vecino superior derecho, un vecino izquierdo, un vecino inferior izquierdo y un vecino temporal coubicado desde otra trama de video;
    usar dos vectores de movimiento unipredictivos diferentes, uno asociado con cada uno de los dos bloques de video vecinos diferentes de dicho primer conjunto, como un primer conjunto candidato de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo;
    identificar un segundo conjunto de dos bloques de video vecinos diferentes codificados en los modos unipredictivos del conjunto de bloques vecinos candidatos, y usar dos vectores de movimiento unipredictivos diferentes, uno asociado con cada uno de los dos bloques de video vecinos diferentes de dicho segundo conjunto, como un segundo conjunto candidato de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo;
    identificar al menos uno de los bloques vecinos del conjunto de bloques vecinos candidatos que se codifique en el modo bipredictivo, y usar los dos vectores de movimiento bipredictivos de dicho al menos uno de los bloques vecinos como un tercer conjunto candidato de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo;
    seleccionar uno de los conjuntos candidatos de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo; y
    generar uno o mas elementos sintacticos para identificar el conjunto candidato seleccionado de vectores de movimiento.
  2. 2. El procedimiento segun la reivindicacion 1, en el que la informacion de movimiento comprende ademas al menos dos valores asociados con el primer conjunto de dos vectores de movimiento unipredictivos diferentes, en el que los valores identifican una o mas listas de datos predictivos asociados con el conjunto de dos vectores de movimiento unipredictivos diferentes.
  3. 3. El procedimiento segun la reivindicacion 1, en el que el bloque de video actual comprende una unidad de codificacion (CU) definida de acuerdo con una norma de codificacion de video de alta eficiencia (HEVC), el procedimiento que comprende ademas:
    definir la CU en relacion con una unidad de codificacion mas grande (LCU) de acuerdo con un sistema de particion en arbol cuaternario;
    generar datos sintacticos de LCU que definan el sistema de particion en arbol cuaternario; y
    generar informacion de modo para la CU que defina el modo de fusion bipredictivo, en el que uno o mas elementos sintacticos se incluyen en la informacion de modo para la CU.
  4. 4. El procedimiento segun la reivindicacion 1, en el que el bloque de video actual comprende una unidad de prediccion (PU) de una unidad de codificacion (CU) que se define de acuerdo con una norma de codificacion de video de alta eficiencia (HEVC).
  5. 5. El procedimiento segun la reivindicacion 1, en el que la seleccion de un conjunto de vectores de movimiento candidatos se basa en una determinacion de velocidad y distorsion.
  6. 6. Un procedimiento para decodificacion de datos de video, el procedimiento que comprende:
    recibir uno o mas elementos sintacticos para un bloque de video actual, en el que el bloque de video actual se codifica de acuerdo con un modo de fusion bipredictivo;
    basandose en uno o mas elementos sintacticos, identificar:
    uno de una pluralidad de conjuntos de dos bloques de video vecinos diferentes codificados en los modos unipredictivos, o un bloque vecino del conjunto de bloques vecinos candidatos que se codifique en el modo bipredictivo, en el que los bloques de video vecinos son de un conjunto de bloques vecinos candidatos, el conjunto de bloques vecinos candidatos que comprende un vecino superior, un vecino superior derecho, un vecino izquierdo, un vecino inferior izquierdo y un vecino temporal coubicado desde otra trama de video; donde el elemento sintactico identifica uno o una pluralidad de conjuntos de dos bloques de video vecinos diferentes codificados en el modo unipredictivo, usando dos vectores de movimiento unipredictivos diferentes, uno asociado con cada uno de los dos bloques de video vecinos diferentes para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo; y,
    donde el elemento sintactico identifica un bloque de video vecino codificado en el modo bipredictivo usando los dos vectores de movimiento bipredictivo asociados con el bloque de video vecino para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo.
  7. 7. El procedimiento segun la reivindicacion 6, en el que la informacion de movimiento comprende ademas al menos dos valores asociados con los dos vectores de movimiento unipredictivos diferentes, en el que los valores identifican una o mas listas de datos predictivos asociados con los dos vectores de movimiento unipredictivos diferentes.
  8. 8. El procedimiento segun la reivindicacion 6, en el que el bloque de video actual comprende una unidad de codificacion (CU) definida de acuerdo con una norma de codificacion de video de alta eficiencia (HEVC), en el que la CU se define con relacion a una unidad de codificacion mas grande (LCU) de acuerdo con un sistema de particion en arbol cuaternario, el procedimiento que comprende ademas:
    recibir datos sintacticos de LCU que definan el sistema de particion en arbol cuaternario; y
    recibir informacion de modo para la CU que defina el modo de fusion bipredictivo, en el que el uno o mas elementos sintacticos se incluyen en la informacion de modo para la CU.
  9. 9. El procedimiento segun la reivindicacion 6, en el que el bloque de video actual comprende una unidad de prediccion (PU) de una unidad de codificacion (CU) que se define de acuerdo con una norma de codificacion de video de alta eficiencia (HEVC).
  10. 10. Un dispositivo para decodificar datos de video, el dispositivo que comprende:
    medios para recibir uno o mas elementos sintacticos para un bloque de video actual, en el que el bloque de video actual se codifica de acuerdo con un modo de fusion bipredictivo;
    medios para identificar uno de una pluralidad de conjuntos de dos bloques de video vecinos diferentes codificados en los modos unipredictivos o de un bloque vecino del conjunto de bloques vecinos candidatos que se codifique en el modo bipredictivo, basados en uno o mas elementos sintacticos, en los que los bloques de video vecinos son de un conjunto de bloques vecinos candidatos, el conjunto de bloques vecinos candidatos que comprende un vecino superior, un vecino superior derecho, un vecino izquierdo, un vecino inferior izquierdo y un vecino temporal coubicado desde otra trama de video;
    medios para usar dos vectores de movimiento unipredictivos diferentes, uno asociado con cada uno de los conjuntos de dos bloques de video vecinos diferentes para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo donde el elemento sintactico identifica uno o una pluralidad de conjuntos de dos bloques de video vecinos diferentes codificados en el modo unipredictivo o para usar los dos vectores de movimiento bipredictivos asociados con el bloque de video vecino para decodificar un bloque de video actual de acuerdo con el modo de fusion bipredictivo donde el elemento sintactico identifica un bloque de video vecino codificado en el modo bipredictivo.
  11. 11. Un dispositivo para codificar datos de video, el dispositivo que comprende:
    medios para seleccionar un modo de fusion bipredictivo para codificar un bloque de video actual;
    medios para identificar un primer conjunto de dos bloques de video vecinos diferentes codificados en los modos unipredictivos de un conjunto de bloques vecinos candidatos, el conjunto de bloques vecinos candidatos que comprende un vecino superior, un vecino superior derecho, un vecino izquierdo, un vecino inferior izquierdo y un vecino temporal coubicado desde otra trama de video;
    medios para usar dos vectores de movimiento unipredictivos diferentes, uno asociado con cada uno de los dos bloques de video vecinos diferentes de dicho primer conjunto, como un primer conjunto candidato de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo;
    medios para identificar un segundo conjunto de dos bloques de video vecinos diferentes codificados en los modos unipredictivos del conjunto de bloques vecinos candidatos, y usar dos vectores de movimiento unipredictivos diferentes, uno asociado con cada uno de los dos bloques de video vecinos diferentes de dicho segundo conjunto, como un segundo conjunto candidato de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo;
    medios para identificar al menos uno de los bloques vecinos del conjunto de bloques vecinos candidatos que se codifique en el modo bipredictivo, y usar los dos vectores de movimiento bipredictivos de dicho al menos uno de los bloques vecinos como un tercer conjunto candidato de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo;
    medios para seleccionar uno de los conjuntos candidatos de vectores de movimiento para codificar el bloque de video actual de acuerdo con el modo de fusion bipredictivo; y,
    medios para generar uno o mas elementos sintacticos para identificar el conjunto candidato seleccionado de vectores de movimiento.
  12. 12. Un medio legible por ordenador que comprende instrucciones que, cuando se ejecutan, hacen que un procesador codifique datos de video, en el que las instrucciones hacen que el procesador realice un procedimiento de acuerdo con una cualquiera de las reivindicaciones 1 a 9.
ES12707694T 2011-03-21 2012-02-29 Modo de fusión bipredictivo basado en vecinos unipredictivos y bipredictivos en la codificación de vídeo Active ES2711449T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161454862P 2011-03-21 2011-03-21
US201161502703P 2011-06-29 2011-06-29
US13/336,799 US9648334B2 (en) 2011-03-21 2011-12-23 Bi-predictive merge mode based on uni-predictive neighbors in video coding
PCT/US2012/027136 WO2012128903A1 (en) 2011-03-21 2012-02-29 Bi-predictive merge mode based on uni-predictive neighbors in video coding

Publications (1)

Publication Number Publication Date
ES2711449T3 true ES2711449T3 (es) 2019-05-03

Family

ID=46877348

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12707694T Active ES2711449T3 (es) 2011-03-21 2012-02-29 Modo de fusión bipredictivo basado en vecinos unipredictivos y bipredictivos en la codificación de vídeo

Country Status (20)

Country Link
US (1) US9648334B2 (es)
EP (1) EP2689582B1 (es)
JP (1) JP5897698B2 (es)
KR (1) KR101667836B1 (es)
CN (1) CN103460695B (es)
AU (1) AU2012231675B2 (es)
BR (1) BR112013024187B1 (es)
DK (1) DK2689582T3 (es)
ES (1) ES2711449T3 (es)
HU (1) HUE042481T2 (es)
IL (1) IL228117A (es)
MX (1) MX2013010766A (es)
MY (1) MY167046A (es)
PL (1) PL2689582T3 (es)
PT (1) PT2689582T (es)
RU (1) RU2547240C1 (es)
SG (1) SG192954A1 (es)
SI (1) SI2689582T1 (es)
WO (1) WO2012128903A1 (es)
ZA (1) ZA201307789B (es)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE056453T2 (hu) * 2010-11-04 2022-02-28 Ge Video Compression Llc Blokk egybeolvasztást és átugrás módot támogató képkódolás
KR101935620B1 (ko) * 2011-04-12 2019-01-04 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호화 방법, 동화상 복호화 장치, 및 동화상 부호화 복호화 장치
EP2717573B1 (en) 2011-05-24 2018-03-28 Velos Media International Limited Image encoding method, image encoding apparatus, image decoding method, image decoding apparatus, and image encoding/decoding apparatus
ES2959039T3 (es) 2011-05-27 2024-02-19 Sun Patent Trust Aparato, procedimiento y programa para codificar imágenes en movimiento
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
CN107257483B (zh) 2011-05-31 2020-01-21 太阳专利托管公司 运动图像编码方法、运动图像编码装置
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
US20130003850A1 (en) 2011-06-30 2013-01-03 Toshiyasu Sugio Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
JP5807621B2 (ja) * 2011-06-30 2015-11-10 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法および送信プログラム
WO2013005966A2 (ko) 2011-07-01 2013-01-10 한국전자통신연구원 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치
US20140126645A1 (en) * 2011-07-01 2014-05-08 Electronics And Telecommunications Research Institute Video encoding and decoding methods and device using same
CN103718558B (zh) 2011-08-03 2017-04-19 太阳专利托管公司 运动图像编码方法及装置、解码方法及装置和编解码装置
CN107277547B (zh) * 2011-08-29 2020-05-29 苗太平洋控股有限公司 以amvp模式对图像编码的方法
US10499063B2 (en) * 2011-09-16 2019-12-03 Hfi Innovation Inc. Method and apparatus for prediction mode and partition mode syntax coding for coding units in HEVC
WO2013057877A1 (ja) 2011-10-19 2013-04-25 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、および、画像復号装置
US9503750B2 (en) * 2011-11-04 2016-11-22 Futurewei Technologies, Inc. Binarization of prediction residuals for lossless video coding
WO2013074964A1 (en) 2011-11-16 2013-05-23 Vanguard Software Solutions, Inc. Video compression for high efficiency video coding
KR20130055773A (ko) * 2011-11-21 2013-05-29 한국전자통신연구원 부호화 방법 및 장치
JP5846133B2 (ja) * 2012-01-18 2016-01-20 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP5846132B2 (ja) * 2012-01-18 2016-01-20 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム
JPWO2013108690A1 (ja) * 2012-01-19 2015-05-11 ソニー株式会社 画像処理装置および方法
KR101418096B1 (ko) * 2012-01-20 2014-07-16 에스케이 텔레콤주식회사 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치
WO2013111596A1 (ja) * 2012-01-26 2013-08-01 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および画像符号化復号装置
US9106922B2 (en) 2012-12-19 2015-08-11 Vanguard Software Solutions, Inc. Motion estimation engine for video encoding
KR102018316B1 (ko) 2013-02-28 2019-09-05 삼성전자 주식회사 무선 통신 시스템에서 간섭 측정을 위한 제어정보의 전송 방법 및 장치
SG11201703454XA (en) * 2014-11-18 2017-06-29 Mediatek Inc Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate
US10291932B2 (en) * 2015-03-06 2019-05-14 Qualcomm Incorporated Method and apparatus for low complexity quarter pel generation in motion search
CN107852490B (zh) * 2015-07-27 2021-01-26 联发科技股份有限公司 一种视频编解码方法及系统
CN116614638A (zh) 2016-07-12 2023-08-18 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
US11638027B2 (en) * 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
KR101986819B1 (ko) 2016-11-11 2019-06-07 (주)지아이건설 보강구조물 및 그 시공방법
CN107124638B (zh) * 2017-05-18 2020-05-12 京东方科技集团股份有限公司 数据传输方法、装置及系统
CN108933941A (zh) * 2017-05-26 2018-12-04 富士通株式会社 图像编码方法和装置以及图像解码方法和装置
US10282827B2 (en) * 2017-08-10 2019-05-07 Wipro Limited Method and system for removal of rain streak distortion from a video
WO2019216325A1 (en) 2018-05-09 2019-11-14 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction using a derived set of motion vectors
CN110677668B (zh) 2018-07-01 2022-06-21 北京字节跳动网络技术有限公司 空间运动压缩
CN110677650B (zh) * 2018-07-01 2023-06-09 北京字节跳动网络技术有限公司 降低非相邻Merge设计的复杂度
SG11202102020UA (en) * 2018-11-20 2021-03-30 Huawei Tech Co Ltd An encoder, a decoder and corresponding methods for merge mode
MX2021012996A (es) 2019-04-25 2022-01-26 Huawei Tech Co Ltd Método y aparato de predicción de imagen, y medio de almacenamiento legible por computadora.
US11445174B2 (en) * 2019-05-06 2022-09-13 Tencent America LLC Method and apparatus for video coding
WO2021040572A1 (en) * 2019-08-30 2021-03-04 Huawei Technologies Co., Ltd. Method and apparatus of high-level signaling for non-rectangular partitioning modes

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0171145B1 (ko) 1995-03-20 1999-03-20 배순훈 이미지 부호화 시스템용 움직임 보상 장치
GB9519923D0 (en) * 1995-09-29 1995-11-29 Philips Electronics Nv Motion estimation for predictive image coding
JP2003199111A (ja) 2001-12-27 2003-07-11 Matsushita Electric Ind Co Ltd 予測装置、符号化装置、逆予測装置、復号装置、及び、演算装置
JP4114859B2 (ja) 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
EP3525466B1 (en) 2002-04-19 2022-02-09 Panasonic Intellectual Property Corporation of America Motion vector determining method and apparatus
US7020200B2 (en) 2002-08-13 2006-03-28 Lsi Logic Corporation System and method for direct motion vector prediction in bi-predictive video frames and fields
US7469070B2 (en) 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements
JP2007043651A (ja) 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
TW200806040A (en) 2006-01-05 2008-01-16 Nippon Telegraph & Telephone Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs
EP2066133A4 (en) 2006-09-20 2015-11-18 Nippon Telegraph & Telephone BILDCODE PROCEDURE, DECODING METHOD, DEVICE FOR IT, IMAGE DECODING DEVICE, PROGRAM THEREFOR AND THE PROGRAM CONTAINING STORAGE MEDIUM
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US20110286523A1 (en) * 2009-01-29 2011-11-24 Anthony Peter Dencher Method and apparatus for efficient hardware motion estimation
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
KR102123960B1 (ko) 2010-10-06 2020-06-17 가부시키가이샤 엔.티.티.도코모 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램
US8526495B2 (en) * 2010-11-22 2013-09-03 Mediatek Singapore Pte. Ltd. Apparatus and method of constrained partition size for high efficiency video coding
US9924188B2 (en) * 2011-01-07 2018-03-20 Lg Electronics Inc. Method for encoding and decoding image information to determine reference index in skip mode or merge mode and device using same
US9066104B2 (en) * 2011-01-14 2015-06-23 Google Inc. Spatial block merge mode
TW201246943A (en) * 2011-01-26 2012-11-16 Panasonic Corp Video image encoding method, video image encoding device, video image decoding method, video image decoding device, and video image encoding and decoding device
KR101878008B1 (ko) * 2011-03-03 2018-07-13 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 동화상 부호화 복호 장치
KR101935620B1 (ko) 2011-04-12 2019-01-04 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호화 방법, 동화상 복호화 장치, 및 동화상 부호화 복호화 장치
EP2717573B1 (en) 2011-05-24 2018-03-28 Velos Media International Limited Image encoding method, image encoding apparatus, image decoding method, image decoding apparatus, and image encoding/decoding apparatus
CA2841921C (en) 2011-06-14 2021-01-26 Samsung Electronics Co., Ltd. Method and apparatus for encoding motion information and method and apparatus for decoding same
KR102464103B1 (ko) 2011-06-30 2022-11-04 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램

Also Published As

Publication number Publication date
PT2689582T (pt) 2019-02-21
SG192954A1 (en) 2013-09-30
KR101667836B1 (ko) 2016-10-19
AU2012231675B2 (en) 2015-04-02
US9648334B2 (en) 2017-05-09
RU2013146788A (ru) 2015-04-27
WO2012128903A1 (en) 2012-09-27
DK2689582T3 (en) 2019-02-25
RU2547240C1 (ru) 2015-04-10
CN103460695A (zh) 2013-12-18
US20120243609A1 (en) 2012-09-27
MY167046A (en) 2018-08-02
ZA201307789B (en) 2018-12-19
IL228117A0 (en) 2013-12-31
JP5897698B2 (ja) 2016-03-30
BR112013024187B1 (pt) 2022-02-01
AU2012231675A1 (en) 2013-10-10
EP2689582A1 (en) 2014-01-29
JP2014514814A (ja) 2014-06-19
PL2689582T3 (pl) 2019-05-31
EP2689582B1 (en) 2018-11-14
IL228117A (en) 2017-09-28
CN103460695B (zh) 2016-12-14
HUE042481T2 (hu) 2019-06-28
SI2689582T1 (sl) 2019-03-29
KR20130135362A (ko) 2013-12-10
MX2013010766A (es) 2013-10-17
BR112013024187A2 (pt) 2016-12-13

Similar Documents

Publication Publication Date Title
ES2711449T3 (es) Modo de fusión bipredictivo basado en vecinos unipredictivos y bipredictivos en la codificación de vídeo
ES2912367T3 (es) Jerarquía de bloques de vídeo de predicción de movimiento
ES2693643T3 (es) Exploración dependiente de modo de coeficientes de un bloque de datos de vídeo
US9288501B2 (en) Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
ES2856051T3 (es) Candidatos de fusión favorables a la paralelización para codificación de vídeo
ES2908241T3 (es) Selección de candidatos de modo de fusión unificado y modo de predicción de vector de movimiento adaptable
ES2677100T3 (es) Filtrado de bucle alrededor de los límites de segmento o de límites de mosaico en la codificación de video
ES2864623T3 (es) Codificación de parámetros de cuantificación (QP) en codificación de video
KR101617107B1 (ko) 크로마 컴포넌트에 대한 적응적 루프 필터링
US10554968B2 (en) Method and apparatus for inter prediction on basis of virtual reference picture in video coding system
ES2874848T3 (es) Restricción de unidades de predicción en segmentos b a interpredicción unidireccional
ES2700623T3 (es) Aparato para decodificar una imagen
US9445126B2 (en) Video filtering using a combination of one-dimensional switched filter and one-dimensional adaptive filter
ES2754056T3 (es) Sistemas y procedimientos para la derivación de RPS entre capas basada en la dependencia de predicción de referencia de subcapa
ES2749747T3 (es) Sistemas y procedimientos para definir por separado las dependencias para la predicción entre capas basada en subcapas
CA2830242C (en) Bi-predictive merge mode based on uni-predictive neighbors in video coding