MX2013010766A - Modo de fusion bi-predictivo basado en vecinos uni-predictivos en dodificacion de video. - Google Patents

Modo de fusion bi-predictivo basado en vecinos uni-predictivos en dodificacion de video.

Info

Publication number
MX2013010766A
MX2013010766A MX2013010766A MX2013010766A MX2013010766A MX 2013010766 A MX2013010766 A MX 2013010766A MX 2013010766 A MX2013010766 A MX 2013010766A MX 2013010766 A MX2013010766 A MX 2013010766A MX 2013010766 A MX2013010766 A MX 2013010766A
Authority
MX
Mexico
Prior art keywords
video
predictive
candidate
uni
candidates
Prior art date
Application number
MX2013010766A
Other languages
English (en)
Inventor
Marta Karczewicz
Yunfei Zheng
Wei-Jung Chien
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
Publication of MX2013010766A publication Critical patent/MX2013010766A/es

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

Esta divulgación describe un modo de fusión bi-predictivo en el cual un bloque de video bi-predictivo hereda información de movimiento de dos bloques vecinos diferentes, en donde los dos bloques vecinos diferentes fueron cada uno cifrados en un modo uni-predictivo. La codificación bi-predictiva puede mejorar la capacidad de lograr comprensión en codificación de video. El modo de fusión bi-predictivo descrito puede aumentar el número de candidatos bi-predictivos que se pueden utilizar en el contexto de codificación de modo de fusión al permitir que se utilicen dos vecinos uni-predictivos separados para definir información de movimiento bi-predictivo para un bloque de video.

Description

MODO DE FUSIÓN BI-PREDICTIVO BASADO EN VECINOS UNI-PREDICTIVOS EN CODIFICACIÓN DE VIDEO CAMPO DE LA INVENCIÓN Esta divulgación se refiere a técnicas de codificación de video que se utilizan para comprimir datos de video y, más particularmente, modos de codificación de video que se utilizan en la compresión de video.
ANTECEDENTES DE LA INVENCIÓN Las capacidades del video digital se pueden incorporar en un amplio rango de dispositivos de video, incluyendo televisiones digitales, sistemas de difusión directa digital, dispositivo de comunicación inalámbrica tales como equipos portátiles de teléfono inalámbrico, sistemas de difusión inalámbrica, asistentes digitales (PDAs, Personales Personal Digital Assistants) , computadoras laptop o de escritorio, computadoras tipo tablet, cámaras digitales, dispositivos de grabación digital, dispositivos de juegos de video, consolas de juegos de video, reproductores multimedia personales, y similares. Tales dispositivos de video pueden implementar técnicas de compresión de video, tales como aquellas descritas en MPEG-2, MPEG-4, o ITU-T H .264 /MPEG-4 , Parte 10, codificación de video avanzada (AVC, Advanced Video Coding) , con el fin de comprimir datos de video. Las técnicas de compresión de video llevan a cabo predicción espacial y/o temporal para reducir o remover la redundancia inherente en las secuencias de video. Nuevos estándares de video, tales como el estándar de codificación de video de alta eficiencia (HEVC, High Efficiency Video Coding) que es desarrollado por el equipo de colaboración conjunta de codificación de video (JCTVC, Joint Collaborative Team - Video Coding), el cual es una colaboración entre MPEG y ITU-T, continúan surgiendo y evolucionando. El estándar emergente de HEVC en ocasiones se denomina como H.265.
Estos y otros estándares y técnicas de codificación de video utilizan codificación de video basada en bloques. Las técnicas de codificación de video basada en bloques dividen los datos de video de una trama de video (o fracción de la misma) en bloques de video y después codifican los bloques de video utilizando técnicas de predicción predictivas basadas en bloques. Los bloques de video se pueden dividir adicionalmente en particiones de bloques de video. Los bloques de video (o particiones de los mismos) se pueden denominar como unidades de codificación (CUs, Coding Units) y se pueden cifrar utilizando una o más técnicas de cifrado especificas de video asi como técnicas de compresión de datos generales. Se pueden seleccionar y utilizar diferentes modos para codificar los bloques de video.
Con el estándar de HEVC emergente, las unidades de codificación más grandes (LCUs, Largest Coding Units) se pueden dividir en CUs más y más pequeñas de acuerdo con un esquema de particionamiento en estructura de datos en árbol (quadtree) . Las CUs se pueden predecir con base en las llamadas unidades de predicción (PUs, Prediction Units), las cuales pueden tener tamaños de partición correspondientes al tamaño de las CUs o más pequeños que el tamaño de las CUs, de tal forma que se pueden utilizar múltiples PUs para predecir una CU dada.
Se pueden utilizar diferentes modos para cifrar las CUs. Por ejemplo, se pueden utilizar diferentes modos de intra-codificación para codificar las CUs con base en datos predictivos dentro de la misma trama o fracción para explotar la redundancia espacial dentro de una trama de video. Alternativamente, los modos de inter-codificación se pueden utilizar para codificar CUs con base en datos predictivos de otra trama o fracción, para explotar la redundancia temporal a través de las tramas de una secuencia de video. Después de que se lleva a cabo la codificación predictiva de acuerdo con un modo seleccionado, se puede llevar a cabo entonces la codificación de transformada, tal como transformada discreta del coseno (DCT, Discrete Cosine Transform) , transformadas de enteros o similares. Con HEVC, la codificación de transformada de ocurrir con respecto a unidades de transformadas (Tüs, Transform Units) , las cuales pueden también tener tamaños de transformada variables en el estándar de HEVC. La cuantificación de los coeficientes de transformada, exploración de los coeficientes de transformada, y codificación de entropía también se pueden llevar a cabo. La información de sintaxis se señaliza con los datos de video cifrados, p.ej., en un encabezado de fracción de video o encabezado de bloques de video, con el fin de informar al descifrador como descifrar los datos de video. Entre otras cosas, la información de sintaxis identifica el modo que se utilizó en la codificación de video de diferentes bloques de video.
El modo de fusión es un modo de inter-codificación especifico que se utiliza en la compresión de video. Con el modo de fusión, el vector de movimiento de un bloque de video vecino se hereda para un bloque de video actual que está siendo codificado. En algunos casos, el modo de fusión provoca que un bloque de video actual herede el vector de movimiento de un vecino pre-definido, y en otros casos, un valor de índice se puede utilizar para identificar el vecino específico del cual el bloque de video actual hereda su vector de movimiento (p.ej., superior, superior derecho, izquierdo, inferior izquierdo o co-ubicado de una trama temporalmente adyacente) .
BREVE DESCRIPCIÓN DE LA INVENCIÓN Esta divulgación describe un modo de fusión bi-predictivo en el cual un bloque de video codificado en el modo de fusión bi-predictivo hereda de su información de movimiento de dos bloques vecinos diferentes, en donde los dos bloques vecinos diferentes fueron cifrados cada uno en un modo uni-predictivo. La codificación bi-predictiva puede mejorar la capacidad de lograr compresión o mejorar la calidad de video en un nivel dado de compresión. Sin embargo, en algunos casos, puede no haber vecinos (o pocos) que fueron codificados en un modo bi-predictivo, generando de esta manera bi-predicción no disponible (o limitada) con respecto a la codificación de modo de fusión. El modo de fusión bi-predictivo que se describe puede aumentar el número de candidatos bi-predictivos que se pueden utilizar en el contexto de codificación de modo de fusión al permitir dos vecinos uni-predichos separados que serán utilizados para definir la información de movimiento predictiva para un bloque de video.
En un ejemplo, esta divulgación describe un método para descifrar datos de video. El método comprende recibir uno o más elementos de sintaxis para un bloque de video actual, en donde el bloque de video actual se cifra de acuerdo con un modo de fusión bi-predictivo, y con base en uno o más elementos de sintaxis, identificando dos bloques de video vecinos diferentes codificados en modos uni-predictivos . El método también comprende utilizar información de movimiento de los dos bloques de video vecinos diferentes para descifrar un bloque de video actual de acuerdo con el modo de fusión bi-predictivo .
En otro ejemplo, esta divulgación describe un método de cifrado de datos de video. El método comprende seleccionar un modo de fusión bi-predictivo para cifrar un bloque de video actual, identificar dos bloques de video vecinos diferentes codificados en modos un bi-predictivos , utilizar información de movimiento de los dos bloques de video vecinos diferentes para cifrar el bloque de video actual de acuerdo con el modo de fusión bi-predictivo, y generar uno o más elementos de sintaxis para identificar los dos bloques de video vecinos diferentes en un descifrador de video.
En otro ejemplo, esta divulgación describe un dispositivo de descifrado de video que descifra datos de video. El dispositivo de descifrado de video comprende un descifrador de video configurado para recibir uno o más elementos de sintaxis para un bloque de video actual, en donde el bloque de video actual se cifra de acuerdo con un modo de fusión bi-predictivo, y con base en dichos uno o más elementos de sintaxis, identificar dos bloques de video vecinos diferentes codificados en modos uni-predictivos . El descifrador de video está configurado para utilizar información de movimiento de los dos bloques de video vecinos diferentes para descifrar un bloque de video actual de acuerdo con el modo de fusión bi-predictivo.
En otro. ejemplo, esta divulgación describe un dispositivo de cifrado de video que comprende un cifrador de video configurado para seleccionar un modo de fusión bi-predictivo para cifrar un bloque de video actual, identificar dos bloques de video vecinos diferentes codificados en modos uni-predictivos, utilizar información de movimiento de los dos bloques de video vecinos diferentes para cifrar el bloque de video actual de acuerdo con el modo de fusión bi-predictivo, y generar uno o más elementos de sintaxis para identificar los dos bloques de video vecinos diferentes en un descifrador de video.
En otro ejemplo, esta divulgación describe un dispositivo para descifrar datos de video, el dispositivo comprende medios para recibir uno o más elementos de sintaxis para un bloque de video actual, en donde el bloque de video actual se cifra de acuerdo con un modo de fusión bi-predictivo, medios para identificar dos bloques de video vecinos diferentes codificados en modos uni-predictivos con base en dichos uno o más elementos de sintaxis, y medios para utilizar información de movimiento de los dos bloques de video vecinos diferentes para descifrar un bloque de video actual de acuerdo con el modo de fusión bi-predictivo .
En otro ejemplo, esta divulgación describe un dispositivo para descifrar datos de video, el dispositivo comprende medios para seleccionar un modo de fusión bi-predictivo para cifrar un bloque de video actual, medios para identificar dos bloques de video vecinos diferentes codificados en modos uni-predictivos, medios para utilizar información de movimiento de los dos bloques de video vecinos para cifrar el bloque de video actual de acuerdo con el modo de fusión bi-predictivo, y medios para generar uno o más elementos de sintaxis para identificar los dos bloques de video vecinos diferentes en un descifrador de video.
Las técnicas descritas en esta divulgación se pueden implementar en hardware, software, firmware, o cualquier combinación de los mismos. Por ejemplo, diferentes técnicas se pueden implementar o ejecutar por uno o más procesadores. Como se utiliza en este documento, un procesador se puede denominar como un microprocesador, un circuito integrado de aplicación especifica (ASIC, Application Specific Integrated Circuit), antenajes de puerta de campo programable (FPGA Field Programmable Gate Array) , un procesador de señal digital (DSP Digital Signal Processor) , u otro circuito integrado equivalente o de lógica discreta. El software se puede ejecutar por medio de uno o más procesadores. El software que comprende instrucciones para ejecutar las técnicas se puede almacenar inicialmente en un medio legible por computadora y cargar y ejecutar por un procesador.
En consecuencia, esta divulgación también contempla medios de almacenamiento legible por computadora que comprenden instrucciones para provocar que un procesador lleve a cabo cualquiera de las técnicas descritas en esta divulgación. En algunos casos, el medio de almacenamiento legible por computadora puede formar parte de un producto de almacenamiento de programa de computadora, el cual se puede vender a fabricantes y/o utilizar en un dispositivo. El producto de programa de computadora puede incluir el medio legible por computadora, y en algunos casos, puede también incluir materiales de empaquetamiento.
En particular, esta divulgación también describe un medio legible por computadora que comprende instrucciones que con su ejecución provocan que un procesador descifre datos de video, en donde las instrucciones provocan que el procesador al recibir uno o más elementos de sintaxis para un bloque de video actual, en donde el bloque de video actual está cifrado de acuerdo con un modo de fusión bi-predictivo, identifique dos bloques de video vecinos diferentes en modos uni-predictivos con base en dichos uno o más elementos de sintaxis, utilice información de movimiento de los dos bloques de video vecinos diferentes para descifrar un bloque de video actual de acuerdo con el modo de fusión bi-predictivo .
En todavía otro ejemplo, esta divulgación describe un medio legible por computadora que comprende instrucciones que con su ejecución provocan que un procesador cifre datos de video, en donde las instrucciones provocan el procesador seleccione un modo de fusión bi-predictivo para cifrar un bloque de video actual, identifique dos bloques de video vecinos diferentes codificados en modos uni-predictivos, utilice información de movimiento de los dos bloques de video vecinos diferentes para cifrar el bloque de video actual de acuerdo con el modo de fusión bi-predictivo, y genere uno o más elementos de sintaxis para identificar los dos bloques de video vecinos diferentes en un descifrador de video.
Los detalles de uno o más aspectos de la divulgación se establecen en los dibujos de acompañamiento y descripción de más adelante. Otras características, objetivos, y ventajas de las técnicas descritas en esta divulgación serán aparentes a partir de la descripción en los dibujos, y de las reivindicaciones .
BREVE DESCRIPCIÓN DE LOS DIBUJOS La Figura 1 es un diagrama de bloques que ilustra un sistema ejemplar de cifrado y descifrado de video que puede implementar una o más de las técnicas de esta divulgación.
La Figura 2 es un diagrama conceptual que ilustra particionamiento de estructura de datos en árbol de unidades de codificación (CUs) consistente con las técnicas de esta divulgación .
La Figura 3 es un diagrama conceptual que ilustra algunas relaciones posibles entre CUs, unidades de predicción (Pus) y unidades de transformada (TUs) consistentes con las técnicas de esta divulgación.
La Figura 4 es un diagrama de bloques que ilustra un cifrador de video que puede implementar las técnicas de esta divulgación .
La Figura 5 es un diagrama de bloques que ilustra una unidad de predicción ejemplar de un cifrador, consistente con uno o más ejemplos de esta divulgación.
La Figura 6 es un diagrama de bloques que ilustra un cifrador de video que puede implementar las técnicas de esta divulgación .
La Figura 7 es un diagrama conceptual que ilustra la ubicación de diferentes bloques de video vecinos con respecto al bloque de video actual de tal forma que el bloque de video actual puede utilizar información de uno o más bloques de video vecinos diferentes en un modo de fusión bi-predictivo, consistente con esta divulgación.
Las Figuras 8 y 9 son diagramas de flujo que ilustran las técnicas consistentes con esta divulgación.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN En la mayoría de los sistemas de codificación de video, la estimación de movimiento y compensación de movimiento se utilizan para reducir la redundancia temporal en una secuencia de video, con el fin de lograr compresión de datos. En este caso, se puede generar un vector de movimiento para identificar un bloque predictivo de datos de video, p.ej., de otra trama o fracción de video, que se puede utilizar para predecir los valores del bloque de video actual que está siendo codificado. Los valores del bloque de video predictivo se sustraen de los valores del bloque de video actual para producir un bloque de datos residuales. El vector de movimiento se comunica del cifrador al descifrador, junto con los datos residuales. El descifrador puede ubicar el mismo bloque predictivo (con base en el vector de movimiento) y reconstruir el bloque de video cifrado al combinar los datos residuales con los datos del bloque predictivo. También se pueden utilizar muchas otras técnicas de compresión, tal como transformadas y codificación de entropía, para mejorar más la compresión de video.
El proceso de estimación de movimiento por lo general se hace en el cifrador. La información del movimiento (tal como vectores de movimiento, índices de vector de movimiento, direcciones de predicción, u otra información) se puede descifrar y transmitir desde el cifrador al descifrador de tal forma que el descifrador puede identificar el mismo bloque predictivo que fue utilizado para cifrar un bloque de video dado. Se pueden utilizar muchos modos de cifrado diferentes para permitir diferentes tipos de predicción temporal entre dos tramas diferentes o tipos diferentes de predicción espacial dentro de una trama dada.
Con el llamado modo de fusión, la información de movimiento de un bloque de video vecino se hereda para un bloque de video actual que está siendo codificado. En este caso, el mismo vector de movimiento no se transmite para un bloque de video codificado en modo de fusión. Más bien, se puede utilizar un valor de índice para identificar el vecino del cual el bloque de video actual hereda su vector de movimiento (y posiblemente otra información de movimiento) .
Por ejemplo, la información de movimiento se puede generar desde un vecino superior, un vecino superior derecho, un vecino izquierdo, un vecino inferior izquierdo o un vecino temporal co-ubicado de una trama temporalmente adyacente.
Con la mayoría de los modos de fusión, si el vecino se cifra en un modo uni-predictivo, entonces el bloque de video actual hereda un vector de movimiento. Si el vecino se cifra en un modo bi-predictivo, entonces el bloque de video actual hereda dos vectores de movimiento. En tales ejemplos, un bloque que está siendo codificado en modo de fusión se limita por la información de movimiento de sus vecinos. La uni-predicción y bi-predicción en ocasiones se denominan como predicción unidireccional (P) y predicción bidireccional (B) , pero el término "direccional" está generalmente mal colocado debido a que con estándares de codificación de vídeo modernos, la bi-predicción se basa simplemente en dos listas diferentes de datos predictivos y la dirección no es obligatoria. En otras palabras, los datos en las dos listas diferentes para la bi-predicción pueden venir de tramas previas o subsecuentes, y no necesitan ser bidireccionales de ambas tramas previa y subsecuente, respectivamente. Por esta razón, esta divulgación utiliza los términos uni-predicción y bi-predicción en lugar de los términos predicción unidireccional y predicción bidireccional.
La codificación bi-predictiva puede mejorar la capacidad de lograr compresión o mejorar la calidad de video en un nivel de compresión dado. Sin embargo, en algunos casos, puede no haber (o haber muy pocos) vecinos que fueron cifrados en un modo bi-predictivo, generando de esta manera bi-predicción no disponibles (o limitada) en cifrado de modo de fusión. Por ejemplo, con el modo de fusión convencional, si no hay ningún modo bi-predictivo en cualquiera de los bloques vecinos, el bloque actual puede perder la oportunidad de explotar los beneficios que pueden surgir de la bi-predicción .
Esta divulgación describe un modo de fusión bi-predictivo como una extensión o adición a las técnicas de modo de fusión. Más específicamente, esta divulgación describe un modo de fusión bi-predictivo que hereda información de movimiento de dos bloques vecinos diferentes, en donde los dos bloques vecinos diferentes fueron cifrados cada uno en un modo uni-predictivo . El modo de fusión bi-predictivo que se describe puede aumentar el número de candidatos bi-predictivos que se pueden utilizar en el contexto de codificación de modo de fusión.
La Figura 1 es un diagrama de bloques que ilustra un sistema de cifrado y descifrado de video 10 ejemplar que puede implementar las técnicas de esta divulgación. Como se muestra en la Figura 1, el sistema 10 incluye un dispositivo fuente 12 que transmite el video cifrado el dispositivo destino 16 a través de un canal de comunicación 15. El dispositivo fuente 12 y el dispositivo destino 16 pueden comprender cualquiera de un amplio rango de dispositivos. En algunos casos, el dispositivo fuente 12 y el dispositivo destino 16 pueden comprender dispositivos de mano de comunicación inalámbrica, tales como los llamados celulares o radio teléfonos satelitales. Las técnicas de esta divulgación, sin embargo, las cuales aplican generalmente para el cifrado y descifrado de bloques de video en modo de fusión bi-predictivo se pueden aplicar en dispositivos no inalámbricos que incluyen capacidades de cifrado y/o descifrado de video. El dispositivo fuente 12 y el dispositivo destino 16 son solamente ejemplos de dispositivos de codificación que pueden soportar las técnicas descritas en este documento.
En el ejemplo de la Figura 1, el dispositivo fuente 12 puede incluir una fuente de video 20, un cifrador de video 22, un modulador/demodulador (módem) 23 y un transmisor 24. El dispositivo destino 16 puede incluir un receptor 26, un módem 27, un descifrador de video 28, y un dispositivo de pantalla 30. De acuerdo con esta divulgación, el cifrador de video 22 del dispositivo fuente 12 puede estar configurado para cifrar uno o más bloques de video de acuerdo con un modo de fusión bi-predictivo . Con el modo de fusión bi-predictivo, el bloque de video hereda su información de movimiento de dos bloques vecinos diferentes, en donde los dos bloques vecinos diferentes fueron codificados cada uno en un modo uni-predictivo. Los elementos de sintaxis pueden ser generados en el cifrador de video 22 con el fin de identificar los dos bloques de video vecinos diferentes en modos uni-predictivos . De esta forma, un descifrador de video puede reconstruir un bloque de video bi-predictivo con base en información de movimiento de los dos bloques de video vecinos diferentes identificados por los elementos de sintaxis.
Más específicamente, el cifrador de video 22 puede seleccionar un modo de fusión bi-predictivo para cifrar un bloque de video actual, e identificar dos bloques de video vecinos diferentes codificados en modos uni-predictivos. El cifrador de video 22 puede utilizar información de movimiento de los dos bloques de video vecinos diferentes para cifrar el bloque de video actual de acuerdo con el modo de fusión bi-predictivo, y generar uno o más elementos de sintaxis para identificar los dos bloques de video vecinos diferentes en un descifrador de video.
La fuente de video 20 puede comprender un dispositivo de captura de video, tal como una cámara de video, un archivo de video que contiene el video capturado previamente, una alimentación de video de un proveedor de contenido de vídeo u otra fuente de video. Como una alternativa adicional, la fuente de video 20 puede generar datos basados en gráficos de computadora como la fuente de video, o una combinación de video en vivo, video archivado, y video generado por computadora. En algunos casos, si la fuente de video 20 es una cámara de video, el dispositivo fuente 12 y el dispositivo destino 16 pueden formar los llamados teléfonos con cámara o vídeo teléfonos. En cada caso, el video capturado, pre-capturado o generado por computadora se puede cifrar por el cifrador de video 22.
Una vez que los datos de video son cifrados por el cifrador de video 22, la información de video cifrada se puede entonces modular por medio del módem 23 de acuerdo con un estándar de comunicación, p.ej., tal como acceso múltiple por división de código (CDMA, Code División Múltiple Access), multiplexión por división de frecuencia ortogonal (OFDM, Orthogonal Frequency División Multiplexing) o cualquier otro estándar o técnica de comunicación. Los datos cifrados y modulados se pueden entonces transmitir al dispositivo destino 16 a través del transmisor 24. El módem 23 puede incluir diferentes mezcladores, filtros, amplificadores u otros componentes diseñados para la modulación de señal. El transmisor 24 puede incluir circuitos diseñados para transmitir datos, incluyendo amplificadores, filtros, y una o más antenas. El receptor 26 del dispositivo destino 16 recibe información a través del canal 15, y el módem 27 desmodula la información.
El proceso de descifrado de video llevado a cabo por el descifrador de video 28 puede incluir técnicas reciprocas con respecto a las técnicas de cifrado llevadas a cabo por el cifrador de video 22. En particular, el descifrador de video 28 puede recibir uno o más elementos de sintaxis para un bloque de video actual, en donde el bloque de video actual se cifra de acuerdo con un modo de fusión bi-predictivo, y con base en uno o más elementos de sintaxis, identificar dos bloques de video vecinos diferentes codificados en modos uni-predictivos. El descifrador de video puede utilizar la información de movimiento de los dos bloques de video vecinos diferentes para descifrar un bloque de vitreo actual de acuerdo con el modo de fusión bi-predictivo.
El canal de comunicación 15 puede comprender cualquier medio de comunicación alámbrica o inalámbrica, tal como un espectro de frecuencia de radio (RF, Radio Frequency) o una o más lineas de transmisión físicas, o cualquier combinación de medios alámbricos e inalámbricos. El canal de comunicación 15 puede formar parte de una red basada en paquetes, tal como una red de área local, una red de área amplia, o una red global tal como Internet. El canal de comunicación 15 representa generalmente cualquier medio de comunicación adecuado, o colección de diferentes medios de comunicación, para transmitir datos de video del dispositivo fuente 12 al dispositivo destino 16. Nuevamente, la Figura 1 es solamente ejemplar y técnicas de esta divulgación se pueden aplicar a ajustes de codificación de video (p.ej., cifrado de video o descifrado de video) que no necesariamente incluyen ninguna comunicación de datos entre los dispositivos de cifrado y descifrado. En otros ejemplos, los datos podrían ser recuperados de una memoria local, transmitidos a través de una red, o similares.
En algunos casos, el cifrador de video 22 y descifrador de video 28 pueden operar sustancialmente de acuerdo con un estándar de compresión de video tal como el estándar de HEVC emergente. Sin embargo, las técnicas de esta divulgación también se pueden aplicar en el contexto de una variedad de otros estándares de codificación de vídeo, incluyendo algunos estándares viejos, o estándares nuevos o emergentes. Aunque no se muestra en la Figura 1, en algunos casos, el cifrador de video 22 y el descifrador de video 28 pueden estar integrados cada uno con un cifrador y descifrador de audio, y pueden incluir unidades MÜX-DEMUX apropiadas, u otro hardware y software, para manejar cifrado tanto de audio como de video en un flujo de datos común o flujos de datos separados. Si aplica, las unidades MUX-DEMUX pueden ajustarse al protocolo multiplexor ITU H.223 u otros protocolos tales como el protocolo de datagrama de usuario (UDP, User Datagram Protocol) .
El descifrador de video 22 y el descifrador de video 28 se pueden implementar cada uno como uno o más microprocesadores, procesadores de señal digital (DSPs) circuitos integrados de aplicación especifica (ASICs), antenajes de puerta de campo programables (FPGAs) , lógica discreta, software, hardware, firmware o combinaciones de los mismos. Cada uno del cifrador de video 22 y el descifrador de video 28 pueden estar incluidos en uno o más cifradores o descifradores, cada uno de los cuales puede estar integrado como parte de un cifrador/descifrador combinados (CODEC) en un dispositivo móvil respectivo, dispositivo del suscriptor, dispositivo de transmisión amplia, servidor, o similares. En esta divulgación, el término codificador se refiere a un cifrador, un descifrador, o CODEC, y los términos codificador, cifrador, descifrador y CODEC se refieren todos a máquinas especificas diseñadas para la codificación (cifrado y/o descifrado) de datos de video consistente con esta divulgación.
En algunos casos, los dispositivos 12, 16 pueden operar en una manera sustancialmente simétrica. Por ejemplo, cada uno de los dispositivos 12, 16 puede incluir componentes de cifrado y descifrado de video. Por lo tanto, el sistema 10 puede soportar transmisión de una vía o de dos vías entre los dispositivos de video 12, 16, p.ej., para transmisión de video, reproducción de video, difusión de video, o telefonía de video.
Durante el proceso de codificación, el cifrador de video 22 puede ejecutar un número de técnicas u operaciones de codificación. En general, el cifrador de video 22 opera en bloques de datos de video consistentes con el estándar de HEVC. Consistentes con HEVC, los bloques de video se denominan como unidades de codificación (CUs) y muchas CUs existen dentro de tramas individuales de video (u otras unidades de video definidas independientemente, tales como fracciones). Las tramas, fracciones, porciones de tramas, grupos de imágenes, u otras estructuras de datos se pueden definir como unidades de información de video que incluye una pluralidad de CUs. La CUs pueden tener tamaños variables consistentes con el estándar de HEVC, y el flujo de bits puede definir las unidades de codificación más grandes (LCUs) como el tamaño más grande de CU. El modo de fusión bi-predictivo se puede utilizar para descifrar LCUs, CUs, o posiblemente otros tipos de bloques de video. Con el estándar de HEVC, las LCUs se pueden dividir en más y más pequeñas de acuerdo con un esquema de particionamiento de estructura de datos en árbol, y las diferentes CUs que se definen en el esquema se pueden particionar adicionalmente en las llamadas unidades de predicción (PUs). Las LCUs, CUs, y PUs son todas bloques de video dentro del significado de esta divulgación.
El cifrador de video 22 puede llevar a cabo codificación predictiva en la cual se compara un bloque de video que está haciendo codificado (p.ej., una PU de una CU dentro de una LCU) con uno o más candidatos predictivos con el fin de identificar un bloque predictivo. Este proceso de codificación predictiva puede ser intra (en cuyo caso los datos predictivos son generados con base en los datos intra vecinos dentro de la misma trama o fracción de video) o ínter (en cuyo caso los datos predictivos son generados con base en los datos de video en las tramas o fracciones previas o subsecuentes). Muchos modos de codificación diferentes pueden ser soportados, y el cifrador de video 22 puede seleccionar un modo de codificación de video deseable. De acuerdo con esta divulgación, al menos algunos bloques de video se pueden codificar utilizando el modo de fusión bi-predictivo descrito en este documento.
Después de generar el bloque predictivo, las diferencias entre el bloque de video actual que está siendo codificado y el bloque predictivo se codifican como un bloque residual, y la sintaxis de predicción (tal como un vector de movimiento en el caso de inter-codificación, o un modo predictivo en el caso de intra-codificación) se utiliza para identificar el bloque predictivo. Además, con el modo de fusión bi-predictivo que se describe en este documento, la sintaxis de predicción (p.ej., elementos de sintaxis) puede identificar dos bloques de video vecinos diferentes en un descifrador de video. El descifrador puede identificar dos bloques de video diferentes codificados en modos uni-predictivos, con base en los elementos de sintaxis, y utilizar información de movimiento de los dos bloques de video vecinos diferentes para descifrar un bloque de video actual de acuerdo con el modo de fusión bi-predictivo .
El bloque residual se puede transformar y cuantificar. Las técnicas de transformada pueden comprender un proceso de DCT o procesos conceptualmente similares, transformador de enteros, transformador de ondiculas, u otros tipos de transformada. En un proceso de DCT, como un ejemplo, el proceso de transformada convierte un conjunto de valores de pixel (p.ej., valores de pixel residual) en coeficientes de transformada, los cuales pueden representar la energía de los valores de pixel en el dominio de las frecuencias. El estándar de HEVC permite las transformaciones de acuerdo con las unidades de transformación (TUs), las cuales pueden ser diferentes para diferentes CUs. Las TUs típicamente se dimensionan con base en el tamaño de las PUs dentro de una CU dada definida para una LCU particionada, aunque esto puede no siempre ser el caso. Las TUs son típicamente del mismo tamaño o más pequeñas que las PUs.
La cuantificación se puede aplicar a los coeficientes de transformada, y generalmente involucra un proceso que limita el número de bits asociados con cualquier coeficiente de transformada dado. Más específicamente, la cuantificación se puede aplicar de acuerdo con un parámetro de cuantificación (QP, Quantization Parameter) definido en el nivel de la LCU. En consecuencia, el mismo nivel de cuantificación se puede aplicar a todos los coeficientes de transformada en las TUs asociadas con diferentes PUs de CUs dentro de una LCU. Sin embargo, en lugar de señalizar el mismo QP, se puede señalizar un cambio (esto es, un delta) en el QP con la LCU para indicar el cambio en QP con respecto al de una LCU previa .
Seguido de la transformada y cuantificación, se puede llevar a cabo codificación de entropía en los bloques de video residuales cuantificados y transformados. Los elementos de sintaxis también se pueden incluir en el flujo de bits codificados por entropía. En general, la codificación de entropía comprende uno o más procesos que colectivamente comprimen una secuencia de coeficientes de transformada cuantificados y/u otra información de sintaxis. Las técnicas de exploración se pueden llevar a cabo en los coeficientes de transformada cuantificados con el fin de definir uno o más vectores unidimensionales serializados de coeficientes de bloques de video bidimensionales . Después, los coeficientes explorados se codifican por entropía junto con cualquier información de sintaxis, p.ej., codificación de longitud variable adaptable al contenido (CAVLC, Content Adaptive Variable Length Coding) , codificación aritmética binaria adaptable al contexto (CABAC, Context Adaptive Binary Arithmetic Coding) , u otros procesos de codificación de entropía .
Como parte del proceso de cifrado, los bloques de video cifrados se pueden descifrar con el fin de generar los datos de video que se utilizan para codificación subsecuente basada en predicción de bloques de video subsecuentes. Esto a menudo se denomina como un bucle de descifrado del proceso de cifrado, y generalmente se asemeja al descifrado que se lleva a cabo por medio de un dispositivo descifrador. En el bucle de descifrado de un cifrador o un descifrador, las técnicas de filtración se puede utilizar para mejorar la calidad de video, y p.ej., suavizar los limites del pixel y posiblemente remover artefactos del video descifrado. Esta filtración puede ser dentro del bucle o después del bucle {in-loop o post-loop) . Con la filtración dentro del bucle, la filtración de datos de video reconstruido ocurre en el bucle de codificación, lo que significa que los datos filtrados son almacenados por un cifrador o un descifrador para su uso subsecuente en la predicción de datos de imagen subsecuentes. En contraste, con la filtración después del bucle, la filtración de los datos de video reconstruido ocurre fuera del bucle de codificación, lo que significa que las versiones no filtradas de los datos son almacenados por un cifrador o un descifrador para su uso subsecuente en la predicción de datos de imagen subsecuentes. La filtración del bucle a menudo sigue un proceso de filtración de desbloqueo separado, que típicamente aplica filtración a pixeles que están en o cerca de los límites de los bloques de video adyacentes con el fin de remover los artefactos de bloqueo que se manifiestan en los límites del bloque de video.
Con respecto a los estándares de codificación previos, el estándar de HEVC emergente introduce nuevos términos y tamaños de bloque para los bloques de video. En particular, HEVC se refiere a unidades de codificación (CUs) , las cuales se pueden particionar de acuerdo con un esquema de particionamiento de estructura de datos en árbol. Una "LCU" se refiere a la unidad de codificación más grande dimensionadas (p.ej., la "unidad de codificación más grande") soportada en una situación dada. El tamaño de LCU puede en si ser señalizado como parte del flujo de bits, p.ej., como sintaxis del nivel de frecuencia. La LCU se puede particionar en CUs más pequeñas. Las CUs se pueden particionar en unidades de predicción (PUs) para propósitos de predicción. Las PUs pueden tener formas cuadradas o rectangulares. Las transformadas no son fijas en el estándar de HEVC emergente, pero se definen de acuerdo con tamaños de unidad de transformada (TU) , que pueden ser los mismos tamaños que una CU dada, o posiblemente más pequeños. Los datos residuales para una CU dada se pueden comunicar en las TUs. Los elementos de sintaxis se pueden definir en el nivel de LCU, el nivel de CU, el nivel de PU y el nivel de TU.
Para ilustrar bloques de video de acuerdo con el estándar de HEVC, la Figura 2 muestra conceptualmente una LCU de profundidad 64 por 64, que después se particiona en CUs más pequeñas de acuerdo con un esquema de particionamiento de estructura de datos en árbol. Los elementos llamados "señalizadores divididos"pueden estar incluidos como sintaxis de nivel de CU para indicar si cualquier CU dada está en si subdividida en cuatro más CUs. En la Figura 2, CU0 puede comprender la LCU, CUi a CU4 puede comprender sub-CUs de la LCU. Los elementos de sintaxis de modo de fusión bi-predictivo, como se describe en esta divulgación, pueden estar definidos en el nivel de CU (o posiblemente el nivel de LCU si la LCU no está dividida en CUs más pequeñas) . El modo de fusión bi-predictivo también puede ser soportado por PUs de CUs, en algunos ejemplos.
La Figura 3 además ilustra una relación posible entre CUs, PUs y TUs lo cual puede ser consistente con el estándar de HEVC emergente u otros estándares. Sin embargo, también son posibles otras relaciones, y la Figura 3 solamente se muestra como un ejemplo posible. En este caso, cualquier CU dada de una LCU puede en si ser particionada en PUs, tales como aquellas que se ilustran en la Figura 3. El tipo de PU para una CU dada se puede señalizar como sintaxis de nivel de CU. Como se muestra en la Figura 3, las PUs de tipo simétrico y las PUs de tipo asimétrico se pueden definir para una CU dada. Además, se pueden definir dos estructuras de TU diferentes para cada una de las cuatro PUs de tipo simétrico y PUs de tipo asimétrico. Por lo tanto, un elemento de sintaxis de un bit (señalizador de tamaño de TU) se puede utilizar para señalizar el tamaño de TU, que también puede depender del tipo de PU (simétrico o asimétrico) . Los patrones de bloque codificado (CBPs, Coded Block Patterns) se pueden definir para una LCü con el fin de indicar si cualquier CU dada incluye coeficientes de transformada diferentes de cero (p.ej., si alguna TUs está presente).
En otros ejemplos, las TUs se pueden definir de manera diferente a la que se muestran en la Figura 3. Las muestras residuales correspondientes a una CU se pueden subdividir en unidades más pequeñas utilizando una estructura de datos en árbol conocida como "estructura de datos en árbol residual" (RQT, Residual Quad Tree) . Los nodos de hoja de datos RQT se pueden denominar como unidades de transformada (TUs) . En algunos casos, las TUs se puede definir para una CU de acuerdo con una estructura de datos en árbol, pero las TUs pueden no depender necesariamente de las PUs definidas para cualquier CU dada. En las PUs utilizadas para la predicción pueden estar definidas por separado de las TUs de cualquier CU. Un número de diferentes tipos de esquemas de particionamiento para CUs, TUs, y PUs son posibles.
La Figura 4 es un diagrama de bloques que ilustra un cifrador de video 50 consistente con esta divulgación. El cifrador de video 50 puede corresponder al cifrador de video 22 del dispositivo 20, o un cifrador de video de un dispositivo diferente. Como se muestra en la Figura 4, el cifrador de video 50 incluye una unidad de cifrado de predicción 32, una unidad de partición en árbol 31, los sumadores 48 y 51, y una memoria 34. El cifrador de video 50 también incluye una unidad de transformada 38 y una unidad de cuantificación 40, asi como una unidad de cuantificación inversa 42 y una unidad de transformada inversa 44. El cifrador de video 50 también incluye una unidad de codificación de entropía 46, y una unidad de filtro 47, que puede incluir filtros de desbloqueo y filtros para después del bucle y/o dentro del bloque (post loop y/o in loop) . Los datos de video cifrado y la información de sintaxis que define la manera del cifrado se pueden comunicar a la unidad de cifrado de entropía 46, la cual lleva a cabo cifrado de entropía en el flujo de bits.
Como se muestra en la Figura 4, una unidad de cifrado de predicción 32 puede soportar una pluralidad de diferentes modos de codificación 35 en el cifrado de los bloques de video. Los modos 35 pueden incluir modos de inter-codificación que define los datos predictivos de diferentes tramas de video (o fracciones) . Los modos de inter-codificación pueden ser bi-predictivos, lo que significa que se utilizan dos listas diferentes (p.ej., Lista 0 y Lista 1) de datos predictivos (y típicamente dos vectores de movimiento diferentes) para identificar los datos predictivos. Los modos de inter-codificación pueden ser alternativamente uni-predictivos, lo que significa que se utiliza una lista (p.ej., Lista 0) de datos predictivos (y típicamente un vector de movimiento) para identificar los datos predictivos. Se pueden llevar a cabo interpolaciones, desfases u otras técnicas en conjunción con la generación de datos predictivos. Los llamados modos SKIP y modos DIRECT también se puede soportar, los cuales heredan información de movimiento asociada con un bloque co-ubicado de otra trama (o fracción) . Los bloques del modo SKIP no incluyen ninguna información residual, mientras los bloques del modo DIRECT incluyen información residual.
Además, los modos 35 pueden incluir modos de inter-codificación, los cuales definen datos predictivos con base en los datos dentro de la misma trama (o fracción) de video mientras está siendo codificada. Los modos de intra-codificación pueden incluir modos direccionales que definen los datos predictivos con base en datos en una dirección particular dentro de la misma trama, asi como modos DC y/o planos que definen los datos predictivos con base en el promedio o promedio ponderado de los datos vecinos. La unidad de cifrado de predicción 32 puede seleccionar el modo para un bloque dado con base en algunos criterios, tal como con base en un análisis de distorsión de tasa o algunas características del bloque, tales como el tamaño, textura del bloque u otras características.
De acuerdo con esta divulgación, la unidad de cifrado de predicción 32 soporta un modo de fusión bi-predictivo 35X. Con el modo de fusión bi-predictivo 35X, un bloque de video que está siendo codificado hereda información de movimiento de dos bloques vecinos diferentes, en donde los dos bloques vecinos diferentes fueron codificados cada uno en un modo uni-predictivo . Por lo tanto, el bloque de video se codifica con dos vectores de movimiento diferentes que vienen de dos bloques de video vecinos diferentes. En este caso, la unidad de cifrado de predicción 32 da salida a una indicación de que el modo de fusión bi-predictivo fue utilizado para un bloque dado, y da salida a elementos de sintaxis que identifican los dos vecinos uni-predictivos diferentes que definen colectivamente la información del movimiento para el bloque bi-predictivo actual. Los bloques predictivos asociados con el modo de fusión bi-predictivo se pueden combinar en un bloque bi-predictivo (posiblemente utilizando factores de ponderación) , y el bloque bi-predicti o se puede sustraer del bloque que está siendo codificado (por medio del sumador 48) para definir los datos residuales asociados con el bloque codificado en el modo de fusión bi-predictivo.
La información de movimiento puede comprender dos vectores de movimiento uni-predictivo diferentes asociados con los dos bloques de video vecinos diferentes. Estos dos vectores de movimiento uni-predictivo diferentes se pueden utilizar como los dos vectores de movimiento bi-predictivos del bloque de video actual. La información de movimiento puede además comprender dos valores de índice de referencia asociados con los dos vectores de movimiento uni-predictivo, en donde los valores de índice de referencia identifican una o más listas de datos predictivos asociados con los dos vectores de movimiento uni-predictivo diferentes. Nuevamente, los datos residuales se pueden generar como la diferencia entre el bloque que está siendo codificado y los datos predictivos definidos por los dos vectores de movimiento uni-predictivo diferentes que colectivamente definen el bloque de fusión bi-predictivo que se utiliza en la predicción.
En el caso de HEVC, el bloque de video actual que está siendo codificado puede comprender una llamada CU definida con respecto a una LCU de acuerdo con un esquema de particionamiento de estructura de datos en árbol. En este caso, la unidad de partición en árbol 31 puede generar datos de sintaxis de LCU que definen el esquema de particionamiento de estructura de datos en árbol, y la unidad de cifrado de predicción 32 puede generar información de modo para la CU que define el modo de fusión bi-predictivo, en donde dichos uno o más elementos de sintaxis (los cuales identifican los dos vecinos uni-predictivos ) se incluyen en la información de modo para la CU.
El modo de fusión bi-predictivo que se describe puede aumentar el número de candidatos bi-predictivos que se pueden utilizar en el contexto de codificación de modo de fusión. Por ejemplo, si ninguno de los vecinos se codifica en modo bi-predictivo, el modo de fusión bi-predictivo descrito puede permitir que la bi-predicción se explote al combinar la información de movimiento de dos vecinos en la predicción del bloque de video actual. También, incluso si uno o más vecinos se codifican en modo bi-predictivo, combinar dos vecinos unidireccionales de acuerdo con el modo de fusión bi-predictivo descrito puede todavía proporcionar ganancias de codificación en algunas situaciones.
Generalmente, durante el proceso de cifrado, el cifrador de video 50 recibe datos de video de entrada. La unidad de cifrado de predicción 32 lleva a cabo las técnicas de codificación predictivas en los bloques de video (p.ej., CUs y PUs). La unidad de partición en árbol 31 puede romper una LCU en CUs y PUs más pequeñas de acuerdo con el particionamiento de HEVC explicado anteriormente con referencia a las Figuras 2 y 3. Para inter-codificación, la unidad de cifrado de predicción 32 compara las CUs o PUs con diferentes candidatos predictivos en una o más tramas o 3ß fracciones de referencia de video (p.ej., una o más listas de datos de referencias) con el fin de definir un bloque predictivo. Para intra-codificación, la unidad de cifrado de predicción 32 genera un bloque predictivo con base en los datos vecinos dentro de la misma trama o fracción de video. La unidad de cifrado de predicción 32 al bloque de predicción y el sumador 48 sustrae el bloque de predicción de la CU o PU que está siendo codificada con el fin de generar un bloque residual. Nuevamente, al menos algunos bloques de video se pueden codificar utilizando el modo de fusión bi-predictivo descrito en este documento.
La Figura 5 ilustra un ejemplo de la unidad de cifrado de predicción 32 del cifrador de video 50 a mayor detalle. La unidad de cifrado de predicción 32 puede incluir una unidad de selección de modo 75 que selecciona el modo deseado de los modos 35, los cuales incluyen el modo de fusión bi-predictivo 35X como una posibilidad. Para la inter-codificación, la unidad de cifrado de predicción 32 puede comprender la unidad de estimación de movimiento (ME, Motion Estimation) 76 y la unidad de compensación de movimiento (MC, Motion Compensation ) 77 que identifica uno o más vectores de movimiento que apunta los datos predictivos, y genera el bloque de predicción con base en el vector de movimiento. Típicamente, la estimación de movimiento se considera el proceso para generar dichos uno o más 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 con respecto al bloque actual que está siendo codificado dentro de la trama actual. En el caso del modo de fusión bi-predictivo 35X, se combinan dos vectores de movimiento unidireccionales de dos vecinos para crear una predicción bidireccional .
La compensación de movimiento típicamente se considera el proceso para buscar o generar el bloque predictivo (o bloques) con base en el vector de movimiento determinado por la estimación de movimiento. En algunos casos, la compensación de movimiento para la inter-codificación puede incluir interpolaciones para resolución de sub-pixel lo cual permite que el proceso de estimación de movimiento estime el movimiento de los bloques de video para dicha resolución de sub-pixel. También se pueden utilizar las combinaciones ponderadas de dos bloques (en el caso de bi-predicción ) .
Para intra-codificación, la unidad de cifrado de predicción 32 puede comprender la unidad de intra-predicción 78. En este caso, los datos predictivos pueden ser generados con base en datos dentro del bloque de video actual (p.ej., adyacentes al bloque de video que está siendo codificado) . Nuevamente, los modos de intra-codificación pueden incluir modos direccionales que definen datos predictivos con base en datos en una dirección particular dentro de la misma trama, asi como modos DC y/o planos que definen datos predictivos con base en el promedio o promedio ponderado de los datos vecinos .
La unidad de distorsión de tasa (R-D, Rate-Distortion) puede comparar resultados de codificación de bloques de video (p.ej., CUs o PUs) en diferentes modos. Además, la unidad de R-D 79 puede permitir otros tipos de ajustes de parámetros, tales como ajustes en las interpolaciones, desfases, parámetros de cuantificación, u otros factores que pueden afectar la tasa de codificación. La unidad de selección de modo 75 puede analizar los resultados de codificación en términos de tasa de codificación (esto es, bits de codificación requeridos para el bloque) y distorsión (p.ej., que representa la calidad de video del bloque codificado con respecto al bloque original) con el fin de hacer más selecciones de bloques de video. De esta forma, la unidad de R-D 79 proporciona análisis de los resultados de diferentes modos para permitir que la unidad de selección de modo 75 seleccione el modo deseado para diferentes bloques de video. Consistente con esta divulgación, el modo de fusión bi-predictivo 35X se puede seleccionar cuando la unidad de R-D 79 lo identifica como el modo deseado para un bloque de video dado, p.ej., debido a las ganancias de codificación o eficiencia de codificación.
Haciendo referencia nuevamente a la Figura 4, después de que la unidad de cifrado de cifrado de predicción 32 da salida al bloque de predicción, y después de que el sumador 48 sustrae el bloque de predicción del bloque de video que está siendo codificado con el fin de generar un bloque residual de valores de pixel, la unidad de transformada 38 aplica una transformada al bloque residual. La transformada puede comprender una transformada discreta del coseno (DCT) o una transformada conceptualmente similar tal como la definida por el estándar ITU H264 o el estándar de HEVC. Las llamadas estructuras de "mariposa" se pueden definir para llevar a cabo la transformada, o también se podría utilizar la multiplicación basada en matriz. En algunos ejemplos, consistentes con el estándar de HEVC, el tamaño de la transformada puede variar para diferentes CUs, p.ej., dependiendo del nivel de particionamiento que ocurre con respecto a una LCU dada. Las unidades de transformada (TUs) se pueden definir con el fin de establecer el tamaño de transformada que se aplica por la unidad de transformada 38. También se podrían utilizar transformadas de ondícula, transformadas de enteros, transformadas de sub-banda u otros tipos de transformadas. En cualquier caso, la unidad de transformada habilidad la transformada al bloque residual, produciendo un bloque de coeficientes de transformada residuales. La transformada, en general, puede convertir la información residual de un dominio de pixeles a un dominio de frecuencias .
La unidad de cuantificación 40 cuantifica entonces los coeficientes de transformada residuales para reducir adicionalmente la tasa de bits. La unidad de cuantificación 40, por ejemplo, puede limitar el número de bits utilizados para codificar cada uno de los coeficientes. En particular, la unidad de cuantificación 40 puede aplicar el QP delta definido por la LCU para definir el nivel de cuantificación por aplicar (tal como al combinar el QP delta con el QP de la LCU previa o algún otro QP conocido) . Después de que la cuantificación se lleva a cabo en muestras residuales, la unidad de codificación de entropía 46 puede explorar y cifrar por entropía los datos.
CAVLC en un tipo de técnica de codificación de entropía soportada por el estándar ITU H.264 y el estándar de HEVC emergente, el cual se puede aplicar en una forma vectorizada por la unidad de codificación de entropía 46. CAVLC utiliza tablas de codificación de longitud variable (VLC, Variable Length Coding) en una manera que comprime de manera efectiva las "corridas" serializadas de coeficientes y/o elementos de sintaxis. CABAC es otro tipo de técnica de codificación de entropía soportada por el estándar ITU H.264 o el estándar de HEVC, que se puede aplicar en una forma vectorizada por la unidad de codificación de entropía 46. CABAC puede involucrar varias etapas, incluyendo binarización, selección de modelo de contexto, y codificación aritmética binaria. En este caso, la unidad de codificación de entropía 46 codifica coeficientes y elementos de sintaxis de acuerdo con CABAC. También existen muchos otros tipos de técnicas de codificación de entropía, y es probable que surjan nuevas técnicas de codificación de entropía en el futuro. Esta divulgación no está limitada a ninguna técnica de codificación de entropía específica.
Después de la codificación de entropía por medio de la unidad de codificación de entropía 46, el video cifrado se puede transmitir a otro dispositivo o archivar para su transmisión o recuperación posterior. El video cifrado puede comprender los vectores codificados por entropía y diferente información de sintaxis (incluyendo la información de sintaxis que define dos vecinos en el caso de modo de fusión bi-predictivo ) . Tal información se puede utilizar por el descifrador para configurar apropiadamente el proceso de descifrado. La unidad de cuantificación inversa 42 y unidad de transformada inversa 44 aplican cuantificación inversa y transformada inversa, respectivamente, para construir el bloque residual en el dominio de pixeles. El sumador 51 agrega el bloque residual reconstruido al bloque de predicción producido por la unidad de cifrado de predicción 32 para producir un bloque de video reconstruido para su almacenamiento en la memoria 34. Antes de tal almacenamiento, sin embargo, la unidad de filtro 47 puede aplicar filtración al bloque de video para mejorar la calidad de video. La filtración aplicada por la unidad de filtro 47 puede reducir los artefactos y suavizar los limites del pixel. Además, la filtración puede mejorar la compresión al generar bloques de video predictivos que comprenden coincidencias cercanas con los bloques de video que están siendo codificados.
De acuerdo con esta divulgación, se soporta el modo de fusión bi-predictivo 35X que hereda información de movimiento de dos bloques vecinos diferentes, en donde los dos bloques vecinos diferentes fueron cada uno cifrados en un modo uni-predictivo. El modo de fusión bi-predictivo 35X descrito puede aumentar el número de candidatos bi-predictivos que se pueden utilizar en el contexto de codificación de modo de fusión. En consecuencia, la unidad de R-D 79 (Figura 5) puede identificar el modo de fusión bi-predictivo 35X como el modo de codificación más deseable debido a las ganancias de codificación que se logran por medio de este modo con respecto a otros modos. En tales casos, la unidad de selección de modo 75 puede seleccionar el modo de fusión bi-predictivo 35X para codificar uno de los bloques de video.
La Figura 6 es un diagrama de bloques que ilustra un ejemplo de un descifrador de video 60, el cual descifra una secuencia de video que está cifrada en la manera que se describe en este documento. Las técnicas de esta divulgación se pueden llevar a cabo por el descifrador de video 60 en algunos ejemplos. En particular, el descifrador de video 60 recibe uno o más elementos de sintaxis para un bloque de video actual, en donde el bloque de video actual está cifrado de acuerdo con un modo de fusión bi-predictivo, y con base en uno o más elementos de sintaxis, identifica dos bloques de video vecinos diferentes codificados en modos uni-predictivos. El descifrador de video 60 utiliza entonces la información de movimiento de los dos bloques de video vecinos diferentes para descifrar un bloque de video actual de acuerdo con el modo de fusión bi-predictivo.
Una secuencia de video recibida en el descifrador de video 60 puede comprender un conjunto cifrado de tramas de imagen, un conjunto de fracciones de trama, un grupo comúnmente codificado de imágenes (GOPs, Group of Pictures), o una amplia variedad de unidades de información de video que incluyen LCUs cifradas (u otros bloques de video) e información de sintaxis para definir cómo decodificar tales LCUs . El proceso para descifrar las LCUs puede incluir descifrar una indicación del modo de codificación, que puede ser el modo de fusión bi-predictivo descrito en este documento.
El descifrador de video 60 incluye una unidad de descifrado de entropía 52, la cual lleva a cabo la función recíproca de descifrado del cifrado llevado a cabo por la unidad de cifrado de entropía 46 de la Figura 2. En particular, la unidad de descifrado de entropía 52 puede llevar a cabo de cifrado CAVLC o CABAC, o cualquier otro tipo de descifrado de entropía utilizado por el descifrador de video 50. El descifrador de video 60 también incluye una unidad de descifrado de predicción 54, una unidad de cuantificación inversa 56, una unidad de transformada inversa 58, una memoria 62, y un sumador 64. En particular, como el cifrador de video 50, el descifrador de video 60 incluye una unidad de descifrado de predicción 54 y una unidad de filtro 57. La unidad de descifrado de predicción 54 del descifrador de video 60 puede incluir la unidad de compensación de movimiento 86, que descifra bloques inter-codificados y posiblemente incluye uno o más filtros de interpolación para interpolación de sub-pixel en el proceso de compensación de movimiento. La unidad de descifrado de predicción 54 puede también incluir una unidad de intra-predicción para descifrar los modos intra. La unidad de descifrado de predicción 54 puede soportar una pluralidad de modos 35 incluyendo el modo de fusión bi-predictivo 55X. La unidad de filtro 57 puede filtrar la salida del sumador 64, y puede recibir información de filtro descifrada por entropía para definir los coeficientes de filtro aplicados en la filtración de bucle.
Al recibir los datos de video cifrados, la unidad de descifrado de entropía 52 lleva a cabo descifrado recíproco al cifrado llevado a cabo por la unidad de cifrado de entropía 46 (del cifrador 50 en la Figura 4) . En el descifrador, la unidad de descifrado de entropía 52 analiza el flujo de bits para determinar las LCUs y el particionamiento correspondiente asociado con las LCUs. En algunos ejemplos, una LCU o las CUs de la LCU pueden definir modos de codificación que fueron utilizados, y estos modos de codificación pueden incluir el modo de fusión bi-predictivo. En consecuencia, la unidad de descifrado de entropía 52 puede reenviar la información de sintaxis a la unidad de predicción que identifica el modo de fusión bi-predictivo. En este caso, la información de sintaxis puede incluir uno o más elementos de sintaxis que identifican dos bloques de vídeo vecinos diferentes codificados en modos uni-predictivos . En este caso, la unidad de MC 86 de la unidad de descifrado de predicción 54 puede utilizar información de movimiento de los dos bloques de video vecinos diferentes para descifrar un bloque de video actual de acuerdo con el modo de fusión bi-predictivo. Esto es, la unidad de MC 86 puede buscar los datos predictivos identificados por la información de movimiento de los dos bloques de video vecinos diferentes, y utilizar alguna combinación de estos datos predictivos en el descifrado del bloque de video actual en modo de fusión bi-predictivo .
La Figura 7 es una ilustración conceptual que muestra un ejemplo de cinco vecinos diferentes que se pueden considerar para propósitos del modo de fusión bi-predictivo . En este ejemplo, el vecino superior (T, op) , el vecino superior derecho (TR, Top Right), el vecino izquierdo (L, Left) , el vecino inferior izquierdo (BL, Bottom Left) , y el vecino temporal co-ubicado (Temp, Temporal) de otra trama de video se puede considerar para propósitos de modo de fusión bi-predictivo. Desde luego, se podrían utilizar otros vecinos (espaciales o temporales) para cualquier información de herencia de movimiento del modo de fusión.
Nuevamente, con el modo de fusión, el bloque de video actual puede heredar toda la información de movimiento de un bloque candidato vecino. Esto significa que el bloque actual tendrá el mismo vector de movimiento, la misma trama de referencia, y el mismo modo de predicción (uni-predicción o bi-predicción) que el bloque vecino seleccionado. El bloque vecino seleccionado puede ser señalizado como parte de un flujo de bits cifrado, pero la información de movimiento no necesita ser señalizada debido a que el descifrador puede obtener la información de movimiento del bloque vecino seleccionado .
Consistente con esta divulgación, se soporta un modo de fusión bi-predictivo, el cual hereda información de movimiento de dos bloques vecinos diferentes, en donde los dos bloques vecinos diferentes fueron cada uno codificados en un modo uni-predictivo . El modo de fusión bi-predictivo descrito puede aumentar el número de candidatos bi-predictivos que se pueden utilizar en el contexto de modo de fusión. En lugar de señalizar un vecino, el modo de fusión bi-predictivo puede señalizar dos vecinos diferentes. El modo de fusión predictivo puede ser una extensión de un modo de fusión convencional al aumentar simplemente los bloques vecinos candidato para incluir combinaciones de los mismos, o puede ser un modo completamente separado con respecto a un modo de fusión convencional.
Asumiendo los bloques vecinos candidatos espaciales y temporales que se muestran en la Figura 1, el modo de fusión bi-predictivo descrito puede trabajar en al menos dos escenarios. En un primer escenario, todos los bloques vecinos candidatos se codifican en modos uni-predict ivos . En este caso, se puede seleccionar cualquier par de bloques candidato, y la información de movimiento de ambos candidatos seleccionados se puede combinar para lograr una bi-predicción. Por ejemplo, asumir que los bloques vecinos que se muestran en la Figura 1 se codifican de acuerdo con la siguiente información: L: uni-pred, LO, refldx = 0 T: uni-pred, Ll, refldx = 0 TR: uni-pred, LO, refldx = 1 BL: uni-pred, LO, refldx = 0 Temp: uni-pred, Ll, refldx = 1 En este caso, hay 10 combinaciones de cualquier par de cinco candidatos. LO se refiere a una primera lista de datos predictivos, y Ll se refiere a una segunda lista de datos predictivos. El refldx puede comprender un índice de una imagen particular en la lista respectiva. El cifrador de video puede seleccionar la mejor combinación (p.ej., en términos de tasa de cifrado y distorsión) , y puede enviar información de sintaxis que identifica los dos bloques vecinos seleccionados. El descifrador puede descifrar la información de sintaxis y obtener la información de movimiento de los bloques vecinos seleccionados.
En un segundo escenario, al menos uno de los bloques vecinos candidato puede ser codificado en un modo bi-predictivo. En este caso, cualquier par de los bloques vecinos uni-predictivos se puede considerar (en combinación) para obtener un modo de fusión bi-predictivo candidato. Sin embargo, también se puede utilizar cualquier bloque bi-predictivo sólo para consideración como un candidato de fusión bi-predictivo. Por ejemplo, asumir que los bloques vecinos que se muestran en la Figura 1 se codifican de acuerdo con la siguiente información: L: bi-pred, LO, refldx = 0, Ll, refldx =0 T: uni-pred, Ll, refldx = 0 TR: uni-pred, LO, refldx = 1 BL: uni-pred, LO, refldx = 0 Temp: bi-pred, LO, refldx=0, Ll, refldx = 1 Nuevamente, LO puede comprender un valor que se refiere a una primera lista de datos predictivos, Ll puede comprender un valor que se refiere a una segunda lista de datos predictivos, y refldx pueden ser los valores que determinan los índices para una imagen particular en la lista respectiva. En este segundo ejemplo, dos de los cinco candidatos ya son de modo bi-predictivo, de tal forma que estos se pueden considerar solos para propósitos de modos de fusión bi-predictivos . Además, se pueden considerar diferentes combinaciones de los tres candidatos uni-predictivos restantes. Asi, en este caso, habrá 5 posibilidades de modo bi-predictivo: 1. L 2. Temp 3. T + TR 4. T + BL 5. TR + BL En este segundo ejemplo, el cifrador puede seleccionar el mejor vecino (o combinación de vecinos) de estas cinco posibilidades (p.ej., en términos de tasa de cifrado y distorsión) , y puede enviar información de sintaxis que identifica qué vecino individual o combinación de vecinos se utilizó en el modo de fusión. El descifrador puede descifrar la información de sintaxis y obtener la información de movimiento del (los) bloque (s) vecino (s) seleccionado ( s ) .
En el ejemplo de la Figura 7, se muestran cinco candidatos. Sin embargo, también se pueden considerar candidatos adicionales ya sea en las mismas áreas que los candidatos de la Figura 7 o en otras áreas. 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 (Temp). En algunos casos, el tamaño del bloque actual puede diferir del de los candidatos, en cuyo caso, el borde superior o borde izquierdo del bloque actual puede ser adyacente a varios candidatos. En otros casos, los candidatos en incluso mayores distancias del bloque de video actual se pueden considerar para propósitos del modo de fusión bi-predictivo que se describe en esta divulgación. Muchos escenarios diferentes que utilizan muchos candidatos diferentes son posibles consistentes con esta divulgación. Por lo tanto, la Figura 7 es solamente un ejemplo que ilustra cinco candidatos vecinos con respecto al bloque de video actual.
La Figura 8 es un diagrama de flujo que ilustra una técnica de descifrado consistente con esta divulgación. La Figura 8 será descrita desde la perspectiva del descifrador de video 60 de la Figura 6, aunque otros dispositivos pueden llevar a cabo técnicas similares. Como se muestra en la Figura 8, el descifrador de video ß? recibe una LCU que incluye elementos de sintaxis para la LCU y para las CUs dentro de la LCU (801) . En particular, la unidad de descifrado de entropía 52 puede recibir un flujo de bits que incluye la LCU y analizar el flujo de bits para identificar los elementos de sintaxis, los cuales pueden ser reenviados a la unidad de descifrado de predicción 54. En consecuencia, la unidad de descifrado de predicción 54 puede definir los modos de las CUs con base en los elementos de sintaxis. En otros ejemplos, los modos pueden ser definidos en el nivel de la PU en lugar de en el nivel de la CU.
En la determinación de los modos, la unidad de descifrado de predicción 54 identifica cualquiera de las CUs codificada en modo de fusión bi-predictivo (803) . Si cualquiera de las CUs no está codificada en modo de fusión bi-predictivo ("no" 803), entonces esa CU se descifra de acuerdo con su modo (804) . Por ejemplo, muchos modos intra diferentes y muchos modos ínter diferentes pueden ser soportados. Si cualquiera de las CUs está codificada en el modo de fusión bi-predictivo ("sí" 803), entonces esta CU es bi-predictiva . Sin embargo, sus vectores de movimiento para la bi-predicción vienen de dos vecinos unidireccionales como se discute en este documento. En este caso, la unidad de MC 86 de la unidad de descifrado de predicción 54 identifica dos vecinos uni-predictivos diferentes para la CU con base en el elemento de sintaxis de la CU (805), y utiliza información de movimiento de los vecinos uni-predictivos para descifrar la CU bi-predictiva.
La Figura 9 es un diagrama de flujo que ilustra una técnica de cifrado consistente con esta divulgación. La Figura 9 será descrita desde la perspectiva del cifrador de video 50 de la Figura 4. Aunque otros dispositivos pueden llevar a cabo técnicas similares. Como se muestra en la Figura 9, la unidad de cifrado de predicción 32 selecciona un modo de fusión bi-predictivo para una CU. Por ejemplo, la unidad de cifrado de predicción 32 (ver la Figura 5) puede incluir una unidad de selección de modos 75 que selecciona el modo de fusión bi-predictivo 35X para una CU con base en una pluralidad de modos posibles 35. La unidad de R-D 75 puede identificar la tasa de codificación y nivel de calidad o distorsión asociados con diferentes modos al analizar los resultados de codificación por la unidad de ME 76 y la unidad de MC 77 para diferentes modos inter y al analizar los resultados de codificación por la unidad de intra-predicción 78 para modos intra. De esta forma, la unidad de selección de modos 75 puede identificar el mejor modo para cualquier situación dada.
Una vez que la unidad de cifrado de predicción 32 selecciona el modo de fusión bi-predictivo 35X para una CU, la unidad de predicción identifica dos bloques vecinos diferentes codificados en modos uni-predictivos (902). Este proceso para identificar los dos bloques vecinos diferentes codificados en modos uni-predictivos se puede llevar a cabo por medio de la unidad de ME 76 en la manera similar a la descrita anteriormente. Por ejemplo, la unidad de ME 76 y unidad de MC 77 pueden generar resultados de codificación de diferentes combinaciones . de información de movimiento de diferentes vecinos unidireccionales, y estos resultados se pueden analizar por la unidad de R-D 75 para determinar la tasa de codificación y calidad o distorsión asociadas con tales combinaciones diferentes. Por último, la unidad de R-D 75 puede determinar qué combinación de modo de fusión bi-predictivo de los vecinos uni-predictivos generar los mejores resultados de codificación.
En consecuencia, la unidad de cifrado de predicción 32 utiliza la información de movimiento de la mejor combinación de dos vecinos uni-predictivos para cifrar la CU como bi-predictiva (903). Desde luego, también se puede considerar cualquier vecino bi-predictivo, y posiblemente utilizar para codificación de modo de fusión si los resultados de distorsión de tasa son mejores que utilizar dos vecinos uni-predictivos. La unidad de predicción 32 (p.ej., unidad de ME 76 o unidad de MC 77) genera uno o más elementos de sintaxis para la CU para identificar los dos vecinos uni-predictivos diferentes utilizados para la codificación de modo de fusión bi-predictivo de la CU. Los elementos de sintaxis, por ejemplo, pueden comprender valores de Indice que identifican dos de los vecinos de la CU, tal como el vecino izquierdo (L) , vecino inferior izquierdo (BL) , vecino superior (T) , vecino superior derecho (TR) o vecino temporal co-ubicado (Temp) como se ilustra conceptualmente en la Figura 7. Sin embargo, también se pueden utilizar muchos otros esquemas de señalización para los elementos de sintaxis.
Las técnicas de esta divulgación se pueden realizar en una amplia variedad de dispositivos o aparatos, incluyendo un equipo de mano inalámbrico, y circuito integrado (IC, Integrated Circuit) o un conjunto de ICs (esto es, un conjunto de chips) . Cualquier componente, módulo o unidad se ha descrito provisto para enfatizar los aspectos funcionales y no requiere necesariamente realización por medio de diferentes unidades de hardware.
En consecuencia, las técnicas descritas en este documento se pueden implementar en hardware, software, firmware, o cualquier combinación de los mismos. Cualquier característica descrita como módulos o componentes se puede implementar conjuntamente en un dispositivo lógico integrado o por separado como dispositivos lógicos discretos pero interoperables. Si se implementan en software, las técnicas se pueden realizar al menos en parte por medio de un medio legible por computadora que comprende las instrucciones que, cuando son ejecutadas, lleva a cabo uno o más de los métodos descritos anteriormente. El medio de almacenamiento de datos legibles por computadora puede formar parte de un producto de programa de computadora, que puede incluir materiales de empaquetamiento .
El medio legible por computadora debe comprender un medio de almacenamiento legible por computadora tangible, tal como memoria de acceso aleatorio (RAM, Random Access Memory) , tal como memoria de acceso aleatorio dinámica sincrónica (SDRAM, Synchronous Dynamic Random Access Memory), memoria de sólo lectura (ROM, Read Only Memory), memoria de acceso aleatorio no volátil (NVRAM, Non-Volatile Random Access Memory) , memoria de sólo lectura programable borrable eléctricamente (EEPROM, Electrically Erasable Programmable Read-Only Memory) , memoria FLASH, medio de almacenamiento de datos magnético u óptico, y similares. Las técnicas se pueden realizar adicionalmente, o alternativamente, al menos en parte por medio de un medio de comunicación legible por computadora que lleva o comunica código en la forma de instrucciones o estructuras de datos que pueden ser accedidas, leídas, o ejecutadas por una computadora.
Las instrucciones pueden ser ejecutadas por uno o más procesadores, tal como uno o más procesadores de señal digital (DSPs, Digital Signal Processors), procesadores de propósito general, circuitos integrados de aplicación específica (ASICs, Application Specific Integrated Circuits) , antenajes de puerta de campo programable (FPGAs, Field Programmable Gate Array) , u otros circuitos integrados o de lógica discreta equivalentes. El término "procesador", como se utiliza en este documento se puede referir a cualquiera de las estructuras anteriores o cualquier otra estructura adecuada para la implementacion de las técnicas descritas en este documento. Además, en algunos aspectos, la funcionalidad descrita en este documento se puede proporcionar dentro de módulos de software dedicado o módulos de hardware configurado para cifrado y descifrado, o incorporar en un cifrador-descifrador combinados de video (CODEC) . También, las técnicas se podrían implementar completamente en uno o más circuitos o elementos lógicos.
Diferentes aspectos de la divulgación han sido descritos. Estos y otros aspectos están dentro del alcance de las siguientes reivindicaciones.

Claims (27)

NOVEDAD DE LA INVENCIÓN Habiendo descrito la presente invención como antecede, se considera como una novedad y, por lo tanto, se reclama como propiedad lo contenido en las siguientes: REIVINDICACIONES
1. Un método de descifrado de datos de video, el método comprende: recibir uno o más elementos de sintaxis para un bloque de video actual, en donde dichos uno o más elementos de sintaxis definen uno o más candidatos de modo de fusión de un conjunto de candidatos que serán utilizados para codificar el bloque de video actual de acuerdo con un modo de fusión, en donde un primer candidato en el conjunto de candidatos es un candidato izquierdo, un segundo candidato en el conjunto de candidatos es un candidato temporal, y un tercer candidato en el conjunto de candidatos es un candidato de modo de fusión bi-predictivo definido de acuerdo con dos bloques de video vecinos diferentes que están codificados en modos uni-predictivos; y cuando dichos uno o más elementos de sintaxis definen el tercer candidato, identificar los dos bloques de video vecinos diferentes codificados en los modos uni-predictivos con base en dichos uno o más elementos de sintaxis; y utilizar información de movimiento de los dos bloques de video vecinos diferentes para descifrar el bloque de video actual .
2. El método de acuerdo con la reivindicación 1, caracterizado porque la información de movimiento comprende dos vectores de movimiento uni-predictivo diferentes asociados con los dos bloques de video vecinos diferentes.
3. El método de acuerdo con la reivindicación 2, caracterizado porque la información de movimiento además comprende al menos dos valores asociados con los dos vectores de movimiento uni-predictivo diferentes, en donde los valores identifican una o más listas de datos predictivos asociados con los dos vectores de movimiento uni-predictivo diferentes.
4. El método de acuerdo con la reivindicación 1, caracterizado porque el bloque de video actual comprende una unidad de codificación (CU) definida de acuerdo con un estándar de codificación de video de alta eficiencia (HEVC), en donde la CU está definida con respecto a una unidad de codificación más grande (LCU) de acuerdo con un esquema de particionamiento de estructura de datos en árbol, el método además comprende: recibir datos de sintaxis de LCU que definen el esquema de particionamiento de estructura de datos en árbol; y recibir información de modo para la CU que define el candidato de modo de fusión bi-predictivo, en donde dichos uno o más elementos de sintaxis se incluyen en la información de modo para la CU.
5. El método de acuerdo con la reivindicación 1, caracterizado porque el bloque de video actual comprende una unidad de predicción (PU) de una unidad de codificación (CU) que está definida de acuerdo con un estándar de codificación de video de alta eficiencia (HEVC) .
6. Un método de cifrado de datos de video, el método comprende : seleccionar un candidato de un conjunto de candidatos para cifrar un bloque de video actual de acuerdo con un modo de fusión, en donde el primer candidato en el conjunto de candidatos es un candidato izquierdo, un segundo candidato en el conjunto de candidatos es un candidato temporal, y un tercer candidato en el conjunto de candidatos es un candidato de modo de fusión bi-predictivo definido de acuerdo con los dos bloques de video vecinos diferentes que están codificados en los modos uni-predictivos ; y con la selección del tercer candidato: identificar los dos bloques de video vecinos diferentes codificados en los modos uni-predictivos; utilizar información de movimiento de los dos bloques de video vecinos diferentes para cifrar el bloque de video actual; y generar uno o más elementos de sintaxis que identifican los dos bloques de video vecinos diferentes que están codificados en los modos uni-predictivos en un descifrador de video .
7. El método de acuerdo con la reivindicación 6, caracterizado porque la información de movimiento comprende dos vectores de movimiento uni-predictivo diferentes asociados con los dos bloques de video vecinos diferentes.
8. El método de acuerdo con la reivindicación 7, caracterizado porque la información de movimiento además comprende al menos dos valores asociados con los dos vectores de movimiento uni-predictivo diferentes, en donde los valores identifican una o más listas de datos predictivos asociados con los dos vectores de movimiento uni-predictivo diferentes.
9. El método de acuerdo con la reivindicación 7, caracterizado porque el bloque de video actual comprende una unidad de codificación (CU) definida de acuerdo con un estándar de codificación de video de alta eficiencia (HEVC) , el método además comprende: definir la CU con respecto a una unidad de codificación más grande (LCU) de acuerdo con un esquema de particionamiento de estructura de datos en árbol; generar datos de sintaxis de una LCU que definen el esquema de particionamiento de estructura de datos en árbol; y generar información de modo para la CU que define el candidato de modo de fusión bi-predictivo, en donde dichos uno o más elementos de sintaxis se incluyen en la información de modo para la CU.
10. El método de acuerdo con la reivindicación 6, caracterizado porque el bloque de video actual comprende una unidad de predicción (PU) de una unidad de codificación (CU) que está definida de acuerdo con un estándar de codificación de video de alta eficiencia (HEVC) .
11. Un dispositivo de descifrado de video que descifra datos de video, el dispositivo de descifrado de video comprende : un descifrador de video configurado para: recibir uno o más elementos de sintaxis para un bloque de video actual, en donde dichos uno o más elementos de sintaxis definen uno o más candidatos de modo de fusión de un conjunto de candidatos que serán utilizados para codificar el bloque de video actual de acuerdo con un modo de fusión, en donde un primer candidato en el conjunto de candidatos es un candidato izquierdo, un segundo candidato en el conjunto de candidatos es un candidato temporal, y un tercer candidato en el conjunto de candidatos es un candidato de modo de fusión bi-predictivo definido de acuerdo con dos bloques de video vecinos diferentes que están codificados en modos uni-predict ivos ; y cuando dichos uno o más elementos de sintaxis definen el tercer candidato, identificar los dos bloques de video vecinos diferentes codificados en los modos uni-predictivos con base en dichos uno o más elementos de sintaxis; y utilizar información de movimiento de los dos bloques de video vecinos diferentes para descifrar el bloque de video actual.
12. El dispositivo de descifrado de video de acuerdo con la reivindicación 11, caracterizado porque el descifrador de video incluye: una unidad de descifrado de entropía configurada para recibir y descifrar dichos uno o más elementos de sintaxis; y una unidad de predicción configurada para identificar los dos bloques de vídeo vecinos diferentes, y utilizar la información de movimiento de los dos bloques de video vecinos diferentes para descifrar el bloque de video actual.
13. El dispositivo de descifrado de video de acuerdo con la reivindicación 11, caracterizado porque la información de movimiento comprende dos vectores de movimiento uni-predictivo diferentes asociados con los dos bloques de video vecinos diferentes.
14. El dispositivo de descifrado de video de acuerdo con la reivindicación 13, caracterizado porque la información de movimiento además comprende al menos dos valores asociados con los dos vectores de movimiento uni-predictivo diferentes, en donde los valores identifican una o más listas de datos predictivos asociados con los dos vectores de movimiento uni-predictivo diferentes.
15. El dispositivo de descifrado de video de acuerdo con la reivindicación 11, caracterizado porque el bloque de video actual comprende una unidad de codificación (CU) definida de acuerdo con un estándar de codificación de video de alta eficiencia (HEVC) , en donde la CU está definida con respecto a una unidad de codificación más grande (LCU) de acuerdo con un esquema de particionamiento de estructura de datos en árbol, en donde el descifrador: recibe datos de sintaxis de LCU que definen el esquema de particionamiento de estructura de datos en árbol; y recibe información de modo para la CU que define el candidato de modo de fusión bi-predictivo, en donde dichos uno o más elementos de sintaxis están incluidos en la información de modo para la CU.
16. El dispositivo de descifrado de video de acuerdo con la reivindicación 11, caracterizado porque el bloque de video actual comprende una unidad de predicción (PU) de una unidad de codificación (CU) que está definida de acuerdo con un estándar codificación de video de alta eficiencia (HEVC) .
17. El dispositivo de descifrado de video de acuerdo con la reivindicación 11, caracterizado porque el dispositivo de descifrado de video comprende uno o más de: un circuito integrado; un microprocesador; y dispositivo de comunicación inalámbrica que incluye un cifrador de video.
18. Un dispositivo de cifrado de video, que comprende: un cifrador de video configurado para: seleccionar un candidato de un conjunto de candidatos para cifrar un bloque de video actual de acuerdo con un modo de fusión, en donde el primer candidato en el conjunto de candidatos es un candidato izquierdo, un segundo candidato en el conjunto de candidatos es un candidato temporal, y un tercer candidato en el conjunto de candidatos es un candidato de modo de fusión bi-predictivo definido de acuerdo con los dos bloques de video vecinos diferentes que están codificados en los modos uni-predictivos ; y con la selección del tercer candidato: identificar los dos bloques de video vecinos diferentes codificados en los modos uni-predictivos; utilizar información de movimiento de los dos bloques de video vecinos diferentes para cifrar el bloque de video actual; y generar uno o más elementos de sintaxis que identifican los dos bloques de video vecinos diferentes que están codificados en los modos uni-predictivos en un descifrador de video.
19. El dispositivo de cifrado de video de acuerdo con la reivindicación 18, caracterizado porque la información de movimiento comprende dos vectores de movimiento uni-predictivo diferentes asociados con los dos bloques de video vecinos diferentes.
20. El dispositivo de cifrado de video de acuerdo con la reivindicación 19, caracterizado porque la información de movimiento además comprende al menos dos valores asociados con los dos vectores de movimiento uni-predictivo diferentes, en donde los valores identifican una o más listas de datos predictivos asociados con los dos vectores de movimiento uni-predictivo diferentes.
21. El dispositivo de cifrado de video de acuerdo con la reivindicación 18, caracterizado porque el bloque de video actual comprende una unidad de codificación (CU) definida de acuerdo con un estándar de codificación de video de alta eficiencia (HEVC) , en donde el cifrador de video incluye: una unidad de partición de estructura de datos en árbol configurada para definir la CU con respecto a una unidad de codificación más grande (LCU) de acuerdo con un esquema de particionamiento de estructura de datos en árbol, y generar datos de sintaxis de una LCU que definen el esquema de particionamiento de estructura de datos en árbol; y una unidad de predicción configurada para generar información de modo para la CU que define el candidato de modo de fusión bi-predictivo, en donde dichos uno o más elementos de sintaxis están incluidos en la información de modo para la CU.
22. El dispositivo de cifrado de video de acuerdo con la reivindicación 18, caracterizado porque el bloque de video actual comprende una unidad de predicción (PU) de una unidad de codificación (CU) que está definida de acuerdo con un estándar de codificación de video de alta eficiencia (HEVC) .
23. El dispositivo de cifrado de video de acuerdo con la reivindicación 18, caracterizado porque el dispositivo de cifrado de video comprende uno o más de: un circuito integrado; un microprocesador; y un dispositivo de comunicación inalámbrica que incluye un cifrador de video.
24. El dispositivo para descifrar datos de video, el dispositivo comprende: medios para recibir uno o más elementos de sintaxis para un bloque de video actual, en donde dichos uno o más elementos de sintaxis define en uno o más candidatos de modo de fusión de un conjunto de candidatos que serán utilizados para codificar el bloque de video actual de acuerdo con un modo de fusión, en donde un primer candidato en el conjunto de candidatos es el candidato izquierdo, un segundo candidato en el conjunto de candidatos es un candidato temporal, y un tercer candidato en el conjunto de candidatos es un candidato de modo de fusión bi-predictivo definido de acuerdo con dos bloques de video vecinos diferentes que están codificados en modos uni-predictivos ; y cuando dichos uno o más elementos de sintaxis definen el tercer candidato, medios para identificar dos de los bloques de video vecinos diferentes en los modos uni-predictivos con base en dichos uno o más elementos de sintaxis; y medios para utilizar información de movimiento de los dos bloques de video vecinos diferentes para descifrar el bloque de video actual.
25. Un dispositivo para cifrar datos de video, el dispositivo comprende: medios para seleccionar un candidato de un conjunto de candidatos para cifrar un bloque de video actual de acuerdo con un modo de fusión, en donde un primer candidato en el conjunto de candidatos es un candidato izquierdo, un segundo candidato en el conjunto de candidatos es un candidato temporal, y un tercer candidato en el conjunto de candidatos es un candidato de modo de fusión bi-predictivo definido de acuerdo con dos bloques de video vecinos diferentes que están codificados en modos uni-predictivos ; y con la selección del tercer candidato: medios para identificar los dos bloques de video vecinos diferentes codificados en los modos uni-predictivos; medios para utilizar información de movimiento de los dos bloques de video vecinos diferentes para cifrar el bloque de video actual; y medios para generar uno o más elementos de sintaxis que identifican los dos bloques de vídeo vecinos diferentes que están codificados en los modos uni-predictivos en un descifrador de video.
26. Un medio legible por computadora que comprende instrucciones que con su ejecución provocan que un procesador descifre datos de video, en donde las instrucciones provocan que el procesador: al recibir uno o más elementos de sintaxis de un bloque de video actual, en donde dichos uno o más elementos de sintaxis definen uno o más candidatos de modo de fusión de un conjunto de candidatos que serán utilizados para codificar el bloque de video actual de acuerdo con un modo de fusión, en donde un primer candidato en el conjunto de candidatos es un candidato izquierdo, un segundo candidato en el conjunto de candidatos es un candidato temporal, y un tercer candidato en el conjunto de candidatos es un candidato de modo de fusión bi-predictivo definido de acuerdo con los dos bloques de video vecinos diferentes que están codificados en modos uni-predictivos , cuando dichos uno o más elementos de sintaxis definen el tercer candidato, identifique los dos bloques de video vecinos diferentes codificados en los modos uni-predictivos con base en dichos uno o más elementos de sintaxis; y utilize información de movimiento de los dos bloques de video vecinos diferentes para descifrar el bloque de video actual .
27. Un medio legible por computadora que comprende instrucciones que con su ejecución provocan que un procesador cifre datos de video, en donde las instrucciones provocan que el procesador: seleccione un candidato de un conjunto de candidatos para cifrar un bloque de video actual de acuerdo con un modo de fusión, en donde un primer candidato en el conjunto de candidatos es un candidato izquierdo, un segundo candidato en el conjunto de candidatos es un candidato temporal, y un tercer candidato en el conjunto de candidatos es un candidato de modo de fusión bi-predictivo definido de acuerdo con dos bloques de video vecinos diferentes que están codificados en modos uni-predictivos ; y con la selección del tercer candidato: identifique los dos bloques de video vecinos diferentes codificados en los modos uni-predictivos; utilice la información de movimiento de los dos bloques de video vecinos diferentes para cifrar el bloque de video actual; y genere uno o más elementos de sintaxis que identifiquen los dos bloques de video vecinos diferentes que están codificados en los modos uni-predictivos en un descifrador de video .
MX2013010766A 2011-03-21 2012-02-29 Modo de fusion bi-predictivo basado en vecinos uni-predictivos en dodificacion de video. MX2013010766A (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
MX2013010766A true MX2013010766A (es) 2013-10-17

Family

ID=46877348

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2013010766A MX2013010766A (es) 2011-03-21 2012-02-29 Modo de fusion bi-predictivo basado en vecinos uni-predictivos en dodificacion de video.

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 (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102405537B1 (ko) * 2010-11-04 2022-06-08 지이 비디오 컴프레션, 엘엘씨 블록 병합 및 스킵 모드를 지원하는 화상 코딩
JP5837575B2 (ja) 2011-04-12 2015-12-24 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
CN103503450B (zh) 2011-05-24 2017-07-07 太阳专利托管公司 图像编码方法、图像编码装置、图像解码方法、图像解码装置及图像编解码装置
JP5865366B2 (ja) 2011-05-27 2016-02-17 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
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
ES2971526T3 (es) 2011-05-31 2024-06-05 Sun Patent Trust Procedimiento de descodificación de vídeo, dispositivo de descodificación de vídeo
JP5937594B2 (ja) 2011-06-30 2016-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像復号方法及び画像復号装置
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
AU2012291454B2 (en) 2011-08-03 2016-11-17 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
MX343471B (es) * 2011-08-29 2016-11-07 Ibex Pt Holdings Co Ltd Metodo para generar un bloque de prediccion en modo de prediccion de vector de movimiento avanzada (amvp).
CN103797794B (zh) * 2011-09-16 2017-11-03 寰发股份有限公司 用于编码的方法和装置
BR112014008403B1 (pt) 2011-10-19 2022-05-10 Sun Patent Trust Método de codificação de imagem, aparelho de codificação de imagem, método de decodificação de imagem, e aparelho de decodificação de imagem
WO2013067436A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Binarization of prediction residuals for lossless video coding
US8693551B2 (en) 2011-11-16 2014-04-08 Vanguard Software Solutions, Inc. Optimal angular intra prediction for block-based 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ケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム
MX2014008485A (es) * 2012-01-19 2014-10-14 Sony Corp Aparato de procesamiento y metodo para procesamiento de imagen.
KR101418096B1 (ko) * 2012-01-20 2014-07-16 에스케이 텔레콤주식회사 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치
JPWO2013111596A1 (ja) * 2012-01-26 2015-05-11 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法および動画像符号化装置
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 삼성전자 주식회사 무선 통신 시스템에서 간섭 측정을 위한 제어정보의 전송 방법 및 장치
BR112017010468B1 (pt) * 2014-11-18 2024-01-02 Hfi Innovation Inc Método de decodificação de vídeo para blocos codificados no modo de interpredição e método de codificação de vídeo para blocos codificados no modo de interpredição
US10291932B2 (en) * 2015-03-06 2019-05-14 Qualcomm Incorporated Method and apparatus for low complexity quarter pel generation in motion search
AU2016299036B2 (en) * 2015-07-27 2019-11-21 Hfi Innovation Inc. Method of system for video coding using intra block copy mode
JP6938612B2 (ja) 2016-07-12 2021-09-22 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 画像復号方法、画像符号化方法、及び非一時的なコンピュータ可読の記録媒体
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 (주)지아이건설 보강구조물 및 그 시공방법
US12063387B2 (en) 2017-01-05 2024-08-13 Hfi Innovation Inc. Decoder-side motion vector restoration for video coding
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
TWI719524B (zh) * 2018-07-01 2021-02-21 大陸商北京字節跳動網絡技術有限公司 降低非相鄰Merge設計的複雜度
CN110677668B (zh) 2018-07-01 2022-06-21 北京字节跳动网络技术有限公司 空间运动压缩
KR20200008531A (ko) 2018-07-16 2020-01-28 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
EP3864846B1 (en) * 2018-11-20 2024-01-03 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for merge mode
AR118250A1 (es) 2019-03-08 2021-09-22 Jvckenwood Corp Dispositivos, métodos y programas de codificación y decodificación de imágenes en movimiento
KR20220003021A (ko) 2019-04-25 2022-01-07 후아웨이 테크놀러지 컴퍼니 리미티드 픽처 예측 방법 및 장치, 및 컴퓨터 판독 가능형 저장 매체
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 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR101011849B1 (ko) 2002-04-19 2011-01-31 파나소닉 주식회사 움직임 벡터 계산방법
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
KR101023262B1 (ko) 2006-09-20 2011-03-21 니폰덴신뎅와 가부시키가이샤 화상 부호화 방법 및 복호 방법, 이들의 장치 및 이들의 프로그램과 프로그램을 기록한 기억매체
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
WO2010086018A1 (en) * 2009-01-29 2010-08-05 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for efficient hardware motion estimation
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
CA3136692A1 (en) 2010-10-06 2012-04-12 Ntt Docomo, Inc. Image predictive encoding device, image predictive encoding method, image predictive encoding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program
US8526495B2 (en) * 2010-11-22 2013-09-03 Mediatek Singapore Pte. Ltd. Apparatus and method of constrained partition size for high efficiency video coding
KR102504685B1 (ko) * 2011-01-07 2023-02-28 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
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 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 동화상 부호화 복호 장치
JP5837575B2 (ja) 2011-04-12 2015-12-24 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
CN103503450B (zh) 2011-05-24 2017-07-07 太阳专利托管公司 图像编码方法、图像编码装置、图像解码方法、图像解码装置及图像编解码装置
KR101894397B1 (ko) 2011-06-14 2018-09-03 삼성전자주식회사 움직임 정보의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR102365353B1 (ko) 2011-06-30 2022-02-23 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램

Also Published As

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

Similar Documents

Publication Publication Date Title
MX2013010766A (es) Modo de fusion bi-predictivo basado en vecinos uni-predictivos en dodificacion de video.
US9288501B2 (en) Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
US9906790B2 (en) Deblock filtering using pixel distance
US9049444B2 (en) Mode dependent scanning of coefficients of a block of video data
KR101617107B1 (ko) 크로마 컴포넌트에 대한 적응적 루프 필터링
JP5960309B2 (ja) マッピングされた変換と走査モードとを使用するビデオコード化
MX2013013050A (es) Tipo de offset y metodo de señalizacion de coeficientes para offset adaptable a muestras.
MX2013014932A (es) Seleccion de candidatos unificados de modo de fusion y miodo de prediccion de vector de movimiento adaptable.
MX2014000718A (es) Exploracion de coeficientes en codificacion de video.
JP2019534631A (ja) ピークサンプル適応オフセット
CA2830242C (en) Bi-predictive merge mode based on uni-predictive neighbors in video coding

Legal Events

Date Code Title Description
FG Grant or registration