ES2973247T3 - Indicación de modo de intra-predicción mejorada para codificación de vídeo utilizando el modo contiguo - Google Patents

Indicación de modo de intra-predicción mejorada para codificación de vídeo utilizando el modo contiguo Download PDF

Info

Publication number
ES2973247T3
ES2973247T3 ES17193257T ES17193257T ES2973247T3 ES 2973247 T3 ES2973247 T3 ES 2973247T3 ES 17193257 T ES17193257 T ES 17193257T ES 17193257 T ES17193257 T ES 17193257T ES 2973247 T3 ES2973247 T3 ES 2973247T3
Authority
ES
Spain
Prior art keywords
mode
intra
prediction
block
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17193257T
Other languages
English (en)
Inventor
Wei-Jung Chien
Marta Karczewicz
Xianglin Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2973247T3 publication Critical patent/ES2973247T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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/186Methods 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 a colour or a chrominance component
    • 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/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

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 técnicas para la señalización del modo de intrapredicción para la codificación de vídeo. En un ejemplo, un codificador de vídeo está configurado para determinar, para un bloque de datos de vídeo, un conjunto de modos de intra-predicción más probables de manera que el conjunto de modos de intra-predicción más probables tenga un tamaño que sea igual a un número predeterminado que es mayor o igual a dos. El codificador de vídeo también está configurado para codificar un valor representativo de un modo de intra-predicción real para el bloque basado al menos en parte en el conjunto de modos de intra-predicción más probables y codificar el bloque usando el modo de intra-predicción real. El codificador de vídeo puede configurarse además para codificar el bloque usando el modo de intrapredicción real, por ejemplo, para codificar o decodificar el bloque. Los codificadores y decodificadores de vídeo pueden implementar estas técnicas. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Indicación de modo de intra-predicción mejorada para codificación de vídeo utilizando el modo contiguo
Campo técnico
Esta divulgación se refiere a la codificación de vídeo y, de forma más particular, a la indicación de características de codificación para datos de vídeo codificados.
Antecedentes
Las capacidades del vídeo digital pueden incorporarse a una amplia gama de dispositivos, incluidos televisores digitales, sistemas de difusión directa digital, sistemas de radiodifusión inalámbrica, asistentes digitales personales (PDA), ordenadores portátiles o de escritorio, cámaras digitales, dispositivos de grabación digitales, reproductores de medios digitales, dispositivos de videojuegos, consolas de videojuegos, teléfonos celulares o de radio por satélite, dispositivos de videoconferencia y similares. Los dispositivos de vídeo digitales implementan técnicas de compresión de vídeo, tales como las descritas en las normas definidas por MPEG-2, MPEG-4, ITU-T H.263 o ITU-T H.264/MPEG-4, parte 10, Codificación de Vídeo Avanzada (AVC) y ampliaciones de dichas normas, para transmitir y recibir información de vídeo digital de manera más eficiente.
Las técnicas de compresión de vídeo llevan a cabo la predicción espacial (intra-imagen) y/o la predicción temporal (inter-imagen) para reducir o eliminar la redundancia intrínseca en las secuencias de vídeo. Para la codificación de vídeo basada en bloques, una trama, una imagen o un fragmento de vídeo pueden dividirse en bloques de vídeo. Cada bloque de vídeo puede dividirse adicionalmente. Los bloques de vídeo en una trama o fragmento intra-codificado (I) se codifican usando la predicción espacial con respecto a bloques de vídeo contiguos en la misma trama, imagen o fragmento. Los bloques de vídeo de una trama o fragmento inter-codificado (P o B) pueden usar predicción espacial con respecto a macrobloques contiguos de la misma trama o fragmento, o predicción temporal con respecto a otras tramas de referencia. Como se usa en el presente documento, los términos "imágenes" pueden denominarse tramas y las "imágenes de referencia" pueden denominarse tramas de referencia.
La predicción espacial o temporal da como resultado un bloque predictivo para un bloque que se va a codificar. Los datos residuales representan diferencias de píxeles entre el bloque original que se va a codificar y el bloque predictivo. Un bloque inter-codificado se codifica de acuerdo con un vector de movimiento que apunta a un bloque de muestras de referencia que forman el bloque predictivo, y los datos residuales que indican la diferencia entre el bloque codificado y el bloque predictivo. Un bloque intra-codificado se codifica de acuerdo con un modo de intra-codificación y los datos residuales. Para una mayor compresión, los datos residuales pueden transformarse desde el dominio de los píxeles al dominio de las transformaciones, dando como resultado unos coeficientes de transformación residual, que posteriormente se pueden cuantificar. Los coeficientes de transformación cuantificados, dispuestos inicialmente en una matriz bidimensional, pueden escanearse con el fin de generar un vector unidimensional de coeficientes de transformación, y puede aplicarse codificación por entropía para lograr aún más compresión.
Los documentos “WD3: Working Draft 3 of High-Efficiency Video Coding”, de Wiegand Tet al,20110329, JCTVC-E603, 29 de marzo de 2011, “Definition of New Coding Elements from Telenor”, de Gisle Bjontegaardet al,10. Reunión de VCEG: 16-05-2000 - 19-05-2000, OSAKA, JP; n.° q15j28, 9 de mayo de 2000 y SANDEEP KANUMURIET AL:"Enhancements to Intra Coding",4. REUNIÓN DE JCT-VC; 95. REUNIÓN DE MPEG; 20-1-2011 -28-1-2011; DAEGU;( EQUIPO DE COLABORACIÓN CONJUNTA SOBRE CODIFICACIÓN DE VÍDEO DE ISO/IEC JTC1/ SC29/WG11 E ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n.° JCTVC-D235, 14 de enero de 2011 (2011 01-14), XP030008275, ISSN: 0000-0013 divulgan aspectos relativos a la intra-predicción.
Sumario
En general, esta divulgación describe técnicas para indicación de modos de intra-predicción para codificación de vídeo. Las técnicas de esta divulgación pueden mejorar la eficiencia para la indicación de un modo de codificación de intrapredicción usado para codificación de modo de intra de un bloque de datos de vídeo. Los datos de vídeo incluyen una secuencia de tramas (o imágenes) reproducidas en sucesión rápida para simular el movimiento. Cada una de las tramas puede dividirse en bloques. Las técnicas de esta divulgación incluyen fijar un número de candidatos de modo de intra-predicción más probables a más de o igual a dos para cada bloque dentro de una trama. De esta manera, puede haber una mejora relativa en la eficiencia para el análisis en el procesamiento de descodificación y una reducción en el uso de memoria cuando se usan las técnicas de esta divulgación.
En la reivindicación 1 se define un método de codificación de datos de vídeo de acuerdo con la presente invención, y en la reivindicación 2 se define un método de descodificación de datos de vídeo de acuerdo con la presente invención. Las características preferidas de los métodos se definen en la reivindicación dependiente 3.
En la reivindicación 5 se define un dispositivo para la codificación de datos de vídeo de acuerdo con la presente invención, y en la reivindicación 6 se define un dispositivo para la descodificación de datos de vídeo de acuerdo con la presente invención. Las características preferidas del dispositivo se definen en la reivindicación dependiente 7.
También se proporciona un medio legible por ordenador tal como se define en la reivindicación 4.
Las técnicas descritas en esta divulgación pueden implementarse en hardware, software, firmware o cualquier combinación de estos. Si se implementa en software, el software puede ejecutarse en un procesador, que puede referirse a uno o más procesadores, tales como un microprocesador, un circuito integrado específico de la aplicación (ASIC), una matriz de puertas programables in situ (FPGA) o un procesador de señales digitales (DSP) u otro tipo de circuito lógico integrado o discreto equivalente. El software que comprende instrucciones para ejecutar las técnicas se puede almacenar inicialmente en un medio legible por ordenador y cargar y ejecutar mediante un procesador.
En consecuencia, esta divulgación también contempla medios legibles por ordenador que comprenden instrucciones para hacer que un procesador realice cualquiera de una variedad de técnicas descritas en esta divulgación. En algunos casos, el medio legible por ordenador puede formar parte de un producto de programa informático, que puede ponerse a la venta para los fabricantes y/o utilizarse en un dispositivo. El producto de programa informático puede incluir el medio legible por ordenador y, en algunos casos, también puede incluir materiales de embalaje.
Esta divulgación también se puede aplicar a señales electromagnéticas que llevan información. Por ejemplo, una señal electromagnética puede comprender información relativa al soporte de píxeles completo utilizado para interpolar un valor para un píxel sub-entero de una muestra de referencia. En algunos ejemplos, una señal puede ser generada desde o transmitida por un dispositivo que implementa las técnicas descritas en el presente documento. En otros ejemplos, esta divulgación puede aplicarse a señales que pueden recibirse en un dispositivo que implementa las técnicas descritas en el presente documento.
Los detalles de uno o más aspectos de la divulgación se exponen en los dibujos adjuntos y la descripción siguiente. Otras características, objetivos y ventajas de las técnicas descritas en esta divulgación resultarán evidentes a partir de la descripción y los dibujos, y a partir de las reivindicaciones.
Breve descripción de los dibujos
La FIG. 1 representa un ejemplo de tres bloques, que incluyen un bloque actual a codificar y dos bloques contiguos. La FIG. 2 es un diagrama de bloques que ilustra un sistema de codificación y descodificación de vídeo de ejemplo que puede utilizar técnicas para codificar datos sintácticos representativos de modos de intra-predicción para bloques de datos de vídeo.
La FIG. 3 es un diagrama de bloques que ilustra un ejemplo de un codificador de vídeo que puede implementar técnicas para codificar información indicativa de un modo de intra-predicción.
La FIG. 4 es un diagrama de bloques que ilustra un ejemplo de un descodificador de vídeo, que descodifica una secuencia de vídeo codificado.
La FIG. 5 es un diagrama que ilustra un ejemplo de 35 modos de intra-predicción y sus direcciones de predicción correspondientes.
La FIG. 6 es un diagrama que ilustra otro ejemplo de 35 modos de intra-predicción y sus direcciones de predicción correspondientes.
La FIG. 7 es un diagrama de flujo que ilustra un ejemplo de un método para la indicación de modo de intrapredicción para codificación de vídeo.
La FIG. 8 es un diagrama de flujo que ilustra un ejemplo de un método para determinar los candidatos al modo de intra-predicción más probables cuando un conjunto de modos de intra-predicción más probables es igual a tres.
Descripción detallada
En general, esta divulgación describe técnicas para indicación de modos de intra-predicción para codificación de vídeo. Las técnicas de esta divulgación pueden mejorar la eficiencia para la indicación de un modo de codificación de intrapredicción usado para intra-codificar un bloque de datos de vídeo. Un codificador de vídeo, por ejemplo, puede incluir un conjunto de dos o más modos de intra-predicción candidatos para un bloque actual que incluye dos (o más) modos de intra-predicción más probables basándose en los modos de intra-predicción de bloques contiguos al bloque actual. El conjunto de candidatos puede incluir índices para los dos o más modos de intra-predicción más probables. Como se usa en el presente documento, "modos" se puede usar en general para referirse a "modos de intra-predicción".
En algunos ejemplos, las técnicas de esta divulgación proporcionan diferentes conjuntos de candidatos de modos de intra-predicción basándose en el tipo de datos de vídeo que se está prediciendo. Por ejemplo, bajo ciertas condiciones, ciertos modos de intra-predicción pueden incluirse como un probable modo de intra-predicción cuando el conjunto de modos de intra-predicción más probables incluye 3 o más modos, tales como un modo planar o DC.
Los datos de vídeo incluyen una secuencia de tramas (o imágenes) reproducidas en rápida sucesión para simular el movimiento. Cada una de las tramas puede dividirse en bloques. Como se usan en el presente documento, los términos "trama" e "imagen" se pueden usar de forma intercambiable.
Los codificadores de vídeo codifican datos de vídeo mediante la utilización de redundancia espacial y temporal. Por ejemplo, un codificador de vídeo puede aprovechar la redundancia espacial prediciendo un bloque relativo a los bloques contiguos, codificados previamente. Del mismo modo, un codificador de vídeo puede aprovechar la redundancia temporal prediciendo un bloque en relación con los datos de las tramas codificadas previamente. En particular, el codificador de vídeo predice un bloque actual a partir de datos de un bloque contiguo espacial o de datos de una o más tramas codificadas previamente. A continuación, el codificador de vídeo calcula un valor residual para el bloque como una diferencia entre el valor real para el bloque y el valor predicho para el bloque. El codificador de vídeo usa unidades de predicción (PU) para representar datos de predicción para una unidad de codificación (CU) y unidades de transformación (TU) para representar datos residuales. Los datos residuales para un bloque incluyen valores de diferencia de píxel por píxel en el dominio de píxel (o espacial). El codificador de vídeo puede transformar aún más los datos residuales, que representan los datos en el dominio de transformación.
Un descodificador de vídeo puede recibir datos codificados para un bloque codificado. Los datos codificados pueden incluir una representación del modo de predicción utilizado para codificar el bloque, así como una indicación de partición de PU para el bloque. De esta manera, el descodificador de vídeo puede usar la misma partición de PU y aplicar el mismo modo de predicción para descodificar el bloque. Para reducir la cantidad de bits consumidos en la indicación del modo de predicción, los dispositivos de codificación de vídeo pueden determinar las probabilidades de los modos de predicción de codificación para un bloque actual basándose en los modos de codificación de los bloques contiguos. La FIG. 1 representa un ejemplo de tres bloques de vídeo: A (4), B (6) y C (8). El bloque C (8) representa un bloque actual codificado, el bloque A (4) representa un bloque contiguo izquierdo codificado previamente en relación con el bloque C (8), y el bloque B (6) representa un bloque contiguo superior codificado previamente en relación con el bloque C (8).
En el ejemplo de la FIG. 1, los bloques A (4), B (6) y C (8) son bloques de una imagen, trama o fragmento intrapredicho. Un dispositivo de codificación de vídeo, tal como un codificador de vídeo o un descodificador de vídeo, puede determinar dos o más modos de intra-predicción probables para el bloque C (8) basándose en los modos de intrapredicción de los bloques A (4) y B (6). En general, es más probable que se prediga el bloque C usando un modo del bloque A (4) o del bloque B (6). Típicamente, cuando los bloques A (4) y B (6) tienen el mismo modo de intra-predicción, el modo de intra-predicción más probable para el bloque C (8) será el modo de intra-predicción de los bloques A (4) y B (6). Por otro lado, cuando los bloques A (4) y B (6) tienen diferentes modos de intra-predicción, un dispositivo de codificación de vídeo debe determinar si el modo de predicción para el bloque C (8) es más probable que sea el modo de intra-predicción de bloque A (4) o el modo de intra-predicción del bloque B (6).
Más particularmente, en Codificación de Vídeo de Alta Eficiencia (HEVC) convencional, una tabla de asignación puede usarse para asignar los modos de intra-predicción a los índices de palabras de código. Los índices de palabras en clave pueden ser asignados por otra tabla a códigos de longitud variable (para CAVLC) o valores binarios (para CABAC). Además, para cada bloque, se puede determinar un número de modos más probables, donde a los modos más probables se les pueden asignar los índices más pequeños, donde los índices más pequeños son los más probables y, por lo tanto, se codifican utilizando menos bits. En la HEVC convencional, el número de modos más probables puede variar basándose en si los bloques A (4) y B (6) tienen los mismos o diferentes modos de intrapredicción.
Esta divulgación proporciona varias técnicas para la mejora de la indicación de modos de intra-predicción para codificación de vídeo. En lugar de permitir que un número de modos más probables varíe para cada bloque, como se analizó anteriormente, siempre hay un número fijo de modos más probables, que es al menos dos. Si bien el número de modos más probables puede ser mayor que dos, en estas técnicas, el número de modos más probables es fijo para todos los bloques en una imagen. En otras palabras, un dispositivo de codificación de vídeo se configura para usar un número predeterminado de modos más probables para todos los bloques, y el número predeterminado es mayor o igual a dos.
En este ejemplo, si los modos de intra-predicción de los bloques A (4) y B (6) son diferentes, y el número predeterminado de modos más probables para el bloque C (8) es dos, entonces los dos modos de intra-predicción más probables para el bloque C (8) pueden corresponder a los modos de intra-predicción de los bloques A (4) y B (6). Sin embargo, si los modos de intra-predicción de los bloques A (4) y B (6) son iguales, el dispositivo de codificación de vídeo puede agregar un segundo modo más probable al conjunto de modos más probables.
En algunos ejemplos, si los modos de intra-predicción de los bloques A (4) y B (6) son los mismos y el modo es un modo distinto del modo planar, a continuación, el segundo modo más probable para el bloque C (8) se selecciona como modo planar. Por otro lado, si los modos de intra-predicción de los bloques A (4) y B (6) son los mismos y el modo es un modo planar, entonces el segundo modo más probable para el bloque C (8) se selecciona como modo DC. En algunos ejemplos, el modo planar siempre se puede asignar al valor de índice 0.
Para los ejemplos en los que hay más de dos modos más probables en el número predeterminado de modos más probables, estos modos pueden corresponder a los modos de intra-predicción que son similares en dirección a las direcciones de las direcciones de intra-predicción para los bloques A (4) y B (6).
Los ejemplos analizados anteriormente se han referido a los modos de intra-predicción para los datos de luminancia. Para los datos de crominancia, esta divulgación propone fijar el número disponible de modos de intra-predicción de modo que ciertos modos de intra-predicción sean siempre modos de intra-predicción candidatos, en algunos ejemplos. Convencionalmente, hay seis modos disponibles para bloques de crominancia: modo vertical, modo horizontal, modo DC, modo planar, modo de predicción basándose en la señal de luma y herencia del modo de predicción de luma. La herencia del modo de predicción de luma permite que el modo de crominancia herede el modo del bloque de luminancia correspondiente. Debido a esto, dos símbolos, o valores de índice, se pueden asignar al mismo modo, por ejemplo, cuando el bloque de luminancia se predice utilizando el modo vertical, horizontal, DC o planar. Efectivamente, esto significa que el bloque de crominancia puede tener solo cinco modos posibles, en lugar de seis. Por lo tanto, hay una señal redundante para al menos un modo en tales situaciones.
Esta divulgación propone añadir otro modo de intra-predicción para bloques de crominancia cuando una señal redundante está disponible, en algunos ejemplos. Suponiendo que el bloque de luminancia se predice usando uno de modo horizontal, vertical, DC o planar, el modo correspondiente al valor de índice que de otra manera indicaría la herencia del modo de intra-predicción de luma se puede asignar a un modo diferente al modo utilizado para el bloque de luminancia correspondiente. Este modo adicional puede corresponder a un modo que tiene una direccionalidad similar al modo del bloque de luminancia correspondiente que de otro modo no está disponible para el bloque de crominancia.
De acuerdo con las técnicas de la presente divulgación, un proceso de obtención de ejemplo para los modos de intrapredicción de luma puede incluir las siguientes entradas: una ubicación de luma (xB, yB) que especifica una muestra de luma superior izquierda de un bloque actual con respecto a una muestra de luma superior izquierda de una imagen actual del bloque actual; una variable, log2TrafoSize, que especifica el tamaño de la unidad de predicción actual; y, si están disponibles, matrices de variables, IntraPredMode, que se obtienen para las unidades de codificación adyacentes previamente descodificadas en orden de descodificación. La salida de este proceso de obtención se puede denotar con la variable IntraPredMode[ xB ][ yB ].
La Tabla 1 especifica un ejemplo de varios modos de intra-predicción de luma, intraPredModeNum, dependiendo de log2TrafoSize, el tamaño de un bloque de predicción actual.
Tabla 1 - Es ecificación de intraPredModeNum
La variable candModeList[ x ] define los modos de intra-predicción que están disponibles. La variable NumMPMCand define el número de candidatos de modo más probable (MPM). De acuerdo con las técnicas descritas en el presente documento, el número de candidatos de MPM se fija para todos los bloques en una imagen o trama. Un codificador de vídeo puede configurarse para indicar un valor representativo del número de candidatos de MPM en, por ejemplo, un conjunto de parámetros de secuencia (SPS) para una secuencia de imágenes, un conjunto de parámetros de imagen (PPS) para una imagen individual u otra estructura de datos. Del mismo modo, un descodificador de vídeo puede determinar el número de candidatos de MPM interpretando dichos valores señalados.
El candModeList[ x ] y NumMPMCand pueden obtenerse basándose en la presencia y los valores de candIntraPredModeN. Si ninguno de los dos candIntraPredModeN está disponible, entonces el valor de índice 2 se asigna a candModeList[0] y NumMPMCand se establece igual a 1. De lo contrario, si solo está disponible un candIntraPredModeN, entonces este candIntraPredModeN se asigna a candModeList[0] y NumMPMCand se establece igual a 1. Del mismo modo, si ambos candIntraPredModeN son iguales, uno de los candIntraPredModeN se asigna a candModeList[0] y NumMPMCand se establece igual a 1. Si ambos candIntraPredModeN son diferentes, NumMPMCand se establece igual a 2 y ambos candIntraPredModeN se asignan a la lista de modos candidatos, con el menor de los dos candidatos en candModeList[ 0 ] y el más grande en candModeList[ 1 ]. La Tabla 2 resume cómo se pueden obtener candModeList[ x ] y NumMPMCand.
Tabla 2 - Es ecificación de intraPredModeNum
continuación
Puede obtenerse IntraPredMode[ xB ][ yB ] aplicando el siguiente procedimiento. Si prev_intra_pred_flag[ xB ][ yB ] es verdadero, IntraPredMode[ xB ][ yB ] se establece igual a candModeList[mpm_idx[ xB ][ yB ]].De lo contrario, IntraPredMode[ xB ][ yB ] se obtiene aplicando las siguientes ecuaciones:
IntraPredMode[ xB ][ yB ] = rem_intra_luma_pred_mode (1)
para (cldx = 0; cldx < NumMPMCand; cldx++)
si (IntraPredMode[xB ][ yB ] > candModeList[cldx]), entonces (2)
IntraPredMode[ xB ][ yB ]++
En estos ejemplos, la variable rem_intra_pred_mode se indica mediante una binarización de longitud fija con un contexto. La variable cIdx especifica el componente de croma del bloque actual.
Para indicación de modo de intra-predicción de croma, la HEVC actual permite seis modos incluyendo: vertical, horizontal, DC, planar, predicción de croma basándose en señal de luma, y herencia del modo de predicción de luma. Entre todos estos modos, la herencia del modo de predicción de luma significa que la dirección de predicción de croma es la misma que la dirección de predicción de luma. Debido a esto, algunos símbolos redundantes se eliminan si el modo de luma es vertical, horizontal, DC o planar. Como resultado, las tablas de códigos tienen diferentes tamaños para diferentes modos de predicción de luma.
Este proceso puede requerir un proceso de descodificación adicional en el análisis y memoria adicional. Primero, para analizar intra_pred_mode, el descodificador tiene que descodificar intra_pred_mode de los bloques contiguos A y B para determinar candIntraPredModeA y candIntraPredModeB. Además, el descodificador tiene que determinar candModeList y NumMPMC. Se requiere memoria adicional porque se necesitan seis bits en una memoria intermedia de línea de descodificador para cada bloque 4x4 para almacenar intra_pred_mode. Además, la codificación de rem_intra_pred_mode no es eficiente debido a la binarización de longitud fija y su modelado de contexto. Además, tener diferentes tamaños de tablas de códigos para el modo de predicción de croma requiere tener un conocimiento previo del modo de predicción de luma antes del análisis del modo de predicción de croma.
La FIG. 2 es un diagrama de bloques que ilustra un ejemplo de sistema de codificación y descodificación de vídeo 10 que puede usarse para implementar las diversas técnicas descritas en el presente documento. Como se muestra en la FIG. 2, el sistema 10 incluye un dispositivo de origen 12 que transmite datos de vídeo codificados a un dispositivo de destino 14 a través de un canal de comunicación 16. El dispositivo de origen 12 y el dispositivo de destino 14 pueden comprender cualquiera de una amplia gama de dispositivos. En algunos casos, el dispositivo de origen 12 y el dispositivo de destino 14 pueden comprender dispositivos de comunicación inalámbrica, tales como microteléfonos inalámbricos, los denominados radioteléfonos celulares o vía satélite, o cualquier dispositivo inalámbrico que pueda comunicar información de vídeo a través de un canal de comunicación 16, donde el canal de comunicación 16 es inalámbrico en este caso.
Sin embargo, las técnicas de esta divulgación no están limitadas necesariamente limitadas a aplicaciones o configuraciones inalámbricas. Por ejemplo, estas técnicas pueden aplicarse a las radiodifusiones televisivas inalámbricas, a las transmisiones televisivas por cable, a las transmisiones televisivas vía satélite, a las transmisiones de vídeo por Internet, al vídeo digital codificado que está codificado en un medio de almacenamiento y a otros escenarios. Por consiguiente, el canal de comunicación 16 puede comprender cualquier combinación de medios inalámbricos o cableados adecuados para la transmisión de datos de vídeo codificados. Además, el canal de comunicación 16 pretende representar solo una de las muchas maneras en las que un dispositivo de codificación de vídeo puede transmitir datos a un dispositivo de descodificación de vídeo. Por ejemplo, en otras configuraciones del sistema 10, el dispositivo de origen 12 podría generar vídeo codificado para descodificación mediante el dispositivo de destino 14 y almacenar el vídeo codificado en un medio de almacenamiento o servidor de archivos, de modo que el dispositivo de destino 14 pueda acceder al vídeo codificado cuando lo desee.
En el ejemplo de la FIG. 2, el dispositivo de origen 12 incluye una fuente de vídeo 18, un codificador de vídeo 20, un modulador/desmodulador (módem) 22 y un transmisor 24. El dispositivo de destino 14 incluye un receptor 26, un módem 28, un descodificador de vídeo 30 y un dispositivo de visualización 32. De acuerdo con esta divulgación, el codificador de vídeo 20 del dispositivo de origen 12 puede estar configurado para aplicar las técnicas de codificación de datos sintácticos representativos de modos de intra-predicción para bloques de datos de vídeo. En otros ejemplos, un dispositivo de origen y un dispositivo de destino pueden incluir otros componentes o disposiciones. Por ejemplo, el dispositivo de origen 12 puede recibir datos de vídeo desde un origen de vídeo externo 18, tal como una cámara externa. Asimismo, el dispositivo de destino 14 puede mantener interfaces con un dispositivo de visualización externo, en lugar de incluir un dispositivo de visualización integrado.
El sistema ilustrado 10 de la FIG. 2 es simplemente un ejemplo. Las técnicas para codificar datos sintácticos representativos de modos de intra-predicción para bloques de datos de vídeo pueden ser realizadas por cualquier dispositivo de codificación y/o descodificación de vídeo digital. Aunque, en general, las técnicas de esta divulgación se llevan a cabo mediante un dispositivo de codificación de vídeo, las técnicas también pueden llevarse a cabo mediante un codificador/descodificador de vídeo, denominado típicamente "CÓDEC". Además, las técnicas de esta divulgación también pueden llevarse a cabo mediante un preprocesador de vídeo. El dispositivo de origen 12 y el dispositivo de destino 14 son simplemente ejemplos de tales dispositivos de codificación, donde el dispositivo de origen 12 genera datos de vídeo codificados para su transmisión al dispositivo de destino 14. En algunos ejemplos, los dispositivos 12 y 14 pueden funcionar de manera esencialmente simétrica, de modo que cada uno de los dispositivos 12 y 14 incluye componentes de codificación y de descodificación de vídeo. Por lo tanto, el sistema 10 puede dar soporte a una transmisión de vídeo unidireccional o bidireccional entre los dispositivos de vídeo 12, 14, por ejemplo, para la transmisión por flujo de vídeo, la reproducción de vídeo, la difusión de vídeo o la videotelefonía.
La fuente de vídeo 18 del dispositivo de origen 12 puede incluir un dispositivo de captura de vídeo, tal como una cámara de vídeo, un archivo de vídeo que contiene vídeo grabado previamente y/o vídeo procedente de un proveedor de contenido de vídeo. Como una alternativa adicional, el origen de vídeo 18 puede generar datos, basándose en gráficos de ordenador, como el vídeo de origen, o una combinación de vídeo en directo, vídeo archivado y vídeo generado por ordenador. En algunos casos, si el origen de vídeo 18 es una videocámara, el dispositivo de origen 12 y el dispositivo de destino 14 pueden formar los denominados teléfonos con cámara o videoteléfonos. Sin embargo, como se ha mencionado anteriormente, las técnicas descritas en esta divulgación pueden ser aplicables a la codificación de vídeo en general, y pueden aplicarse a aplicaciones inalámbricas y/o cableadas. En cada caso, el vídeo capturado, pre-capturado o generado por ordenador puede ser codificado por el codificador de vídeo 20. La información de vídeo codificado puede modularse después mediante el módem 22, de acuerdo con una norma de comunicación, y transmitirse al dispositivo de destino 14 a través del transmisor 24. El módem 22 puede incluir varios mezcladores, filtros, amplificadores u otros componentes diseñados para la modulación de señales. El transmisor 24 puede incluir circuitos diseñados para transmitir datos, incluidos amplificadores, filtros y una o más antenas.
El receptor 26 del dispositivo de destino 14 recibe información a través del canal 16, y el módem 28 desmodula la información. De nuevo, el proceso de codificación de vídeo puede implementar una o más de las técnicas descritas en el presente documento para codificar datos sintácticos representativos de modos de intra-predicción para bloques de datos de vídeo. La información comunicada a través del canal 16 puede incluir información sintáctica definida por el codificador de vídeo 20, que también es usada por el descodificador de vídeo 30, que incluye elementos sintácticos que describen características y/o el procesamiento de macrobloques y otras unidades codificadas, por ejemplo GOP. El dispositivo de visualización 32 muestra los datos de vídeo descodificados a un usuario y puede comprender cualquiera entre una variedad de dispositivos de visualización, tales como un tubo de rayos catódicos (CRT), una pantalla de cristal líquido (LCD), una pantalla de plasma, una pantalla de diodos orgánicos emisores de luz (OLED) u otro tipo de dispositivo de visualización.
En el ejemplo de la FIG. 1, el canal de comunicación 16 puede comprender cualquier medio de comunicación inalámbrico o cableado, tal como un espectro de radiofrecuencia (RF) o una o más líneas de transmisión física, o cualquier combinación de medios inalámbricos y cableados. El canal de comunicación 16 puede formar parte de una red basándose en paquetes, tal como una red de área local, una red de área extensa o una red global tal como Internet. El canal de comunicación 16 representa en general cualquier medio de comunicación adecuado, o un conjunto de diferentes medios de comunicación, para transmitir datos de vídeo desde el dispositivo de origen 12 hasta el dispositivo de destino 14, incluyendo cualquier combinación adecuada de medios cableados o inalámbricos. El canal de comunicación 16 puede incluir routers, conmutadores, estaciones base o cualquier otro equipo que pueda ser útil para facilitar la comunicación desde el dispositivo de origen 12 al dispositivo de destino 14.
El codificador de vídeo 20 y el descodificador de vídeo 30 pueden funcionar de acuerdo con una norma de compresión de vídeo, tal como la norma ITU-T H.264, de forma alternativa denominada MPEG-4, Parte 10, Codificación de Vídeo Avanzada (AVC). Sin embargo, las técnicas de esta divulgación no están limitadas a ninguna norma de codificación particular. Otros ejemplos incluyen MPEG-2 e ITU-T H.263. Aunque no se muestra en la FIG. 1, en algunos aspectos, el codificador de vídeo 20 y el descodificador de vídeo 30 pueden estar integrados, cada uno de ellos, con un codificador y un descodificador de audio, y pueden incluir unidades MUX-DEMUX adecuadas, u otro tipo de hardware y software, para gestionar la codificación tanto de audio como de vídeo en un flujo de datos común o en flujos de datos diferentes. Si procede, las unidades de MUX-DEMUX pueden ajustarse al protocolo de multiplexador ITU H.223 o a otros protocolos, tales como el protocolo de datagramas de usuario (UDP).
La norma ITU-T H.264/MPEG-4 (AVC) fue formulada por el Grupo de Expertos en Codificación de Vídeo de ITU-T (VCEG), junto al Grupo de Expertos en Imágenes en Movimiento de (MPEG) ISO/IEC, como el producto de una asociación colectiva conocida como el Equipo de Vídeo Conjunto (JVT). En algunos aspectos, las técnicas descritas en esta divulgación pueden ser aplicadas a dispositivos que se ajustan en general a la norma H.264. La norma H.264 se describe en la Recomendación ITU-T H.264, Codificación de Vídeo Avanzada, para los servicios audiovisuales genéricos, por el Grupo de Estudio de la ITU-T, y con fecha de marzo de 2005, y que se puede denominar en el presente documento norma H.264 o memoria descriptiva H.264, o la norma o memoria descriptiva H.264/AVC. El Equipo de Vídeo Conjunto (JVT) continúa trabajando en ampliaciones para la norma H.264/MPEG-4 AVC.
El codificador de vídeo 20 y el descodificador de vídeo 30 pueden implementarse, cada uno, como cualquiera de entre una variedad de circuitería de codificadores adecuados, tales como uno o más microprocesadores, procesadores de señales digitales (DSP), circuitos integrados específicos de la aplicación (ASIC), matrices de puertas programables sobre el terreno (FPGA), lógica discreta, software, hardware, firmware o cualquier combinación de estos. El codificador de vídeo 20 y el descodificador de vídeo 30 pueden incluirse en uno o más codificadores o descodificadores, donde cualquiera de los mismos puede estar integrado como parte de un codificador/descodificador combinado (CÓDEC) en una cámara respectiva, ordenador, dispositivo móvil, dispositivo de abonado, dispositivo de radiodifusión, codificador, servidor o similar.
Una secuencia de vídeo incluye típicamente una serie de tramas de vídeo. Un grupo de imágenes (GOP) comprende en general una serie de una o más tramas de vídeo. Un GOP puede incluir datos sintácticos en una cabecera del GOP, una cabecera de una o más tramas del GOP o en otras ubicaciones, que indican el número de tramas incluidas en el GOP. Cada trama puede incluir datos sintácticos de trama que describen un modo de codificación para la respectiva trama. El codificador de vídeo 20 incluye un conjunto fijo de modos de intra-predicción candidatos más probables para cada bloque en una trama, o cada bloque dentro de cada trama dentro de cada GOP. El conjunto fijo de candidatos de MPM puede incluir dos (o más) modos de intra-predicción más probables basándose en los modos de intra-predicción de bloques contiguos a un bloque actual. Un codificador de vídeo 20 actúa típicamente sobre bloques de vídeo de tramas de vídeo individuales con el fin de codificar los datos de vídeo. Un bloque de vídeo puede corresponder a un bloque, una CU, una PU o una TU. Los bloques de vídeo pueden presentar tamaños fijos o variables y pueden diferir en tamaño de acuerdo con una norma de codificación especificada. Cada trama de vídeo puede incluir una pluralidad de fragmentos. Cada fragmento puede incluir una pluralidad de macrobloques, que pueden disponerse en divisiones, también denominadas subbloques.
En un ejemplo, la norma ITU-T H.264 soporta intra-predicción en varios tamaños de bloque, tales como 16 por 16, 8 por 8 o 4 por 4 para componentes de luma, y 8x8 para componentes de croma, así como inter-predicción en varios tamaños de bloque, tales como 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 y 4x4 para componentes de luma y tamaños escalados correspondientes para componentes de croma. En esta divulgación, "NxN" y "N por N" pueden usarse de manera intercambiable para hacer referencia a las dimensiones de píxel del bloque en lo que respecta a la dimensión vertical y la dimensión horizontal, por ejemplo, 16x16 píxeles o 16 por 16 píxeles. En general, un bloque 16x16 tendrá 16 píxeles en una dirección vertical (y = 16) y 16 píxeles en una dirección horizontal (x = 16). Asimismo, un bloque de tamaño NxN presenta, en general, N píxeles en una dirección vertical y N píxeles en una dirección horizontal, donde N representa un valor entero no negativo. Los píxeles en un bloque pueden estar ordenados en filas y columnas. Además, no es necesario que los bloques presenten necesariamente el mismo número de píxeles en la dirección horizontal y en la dirección vertical. Por ejemplo, los bloques pueden comprender NxM píxeles, donde M no es necesariamente igual a N.
Los tamaños de bloque que son inferiores a 16 por 16 pueden denominarse divisiones de un macrobloque de 16 por 16. Los bloques de vídeo pueden comprender bloques de datos de píxeles en el dominio de píxeles, o bloques de coeficientes de transformación en el dominio de transformación, por ejemplo, tras la aplicación de una transformación, tal como una transformación discreta del coseno (DCT), una transformación de números enteros, una transformación de ondículas o una transformación conceptualmente similar a los datos residuales de bloques de vídeo que representan diferencias de píxeles entre bloques de vídeo codificados y bloques de vídeo predictivos. En algunos casos, un bloque de vídeo puede comprender bloques de coeficientes de transformación cuantificados en el dominio de transformación.
Los bloques de vídeo más pequeños pueden proporcionar una mejor resolución y pueden usarse en ubicaciones de una trama de vídeo que incluyen altos niveles de detalle. En general, los macrobloques y las diversas divisiones, denominadas en ocasiones sub-bloques, pueden considerarse bloques de vídeo. Además, un fragmento puede considerarse una pluralidad de bloques de vídeo, tales como macrobloques y/o sub-bloques. Cada fragmento puede ser una unidad independientemente descodificable de una trama de vídeo. De forma alternativa, las propias tramas pueden ser unidades descodificables, o pueden definirse otras partes de una trama como unidades descodificables. El término "unidad codificada" puede referirse a cualquier unidad independientemente descodificable de una trama de vídeo, tal como una trama completa, un fragmento de una trama, un grupo de imágenes (GOP), denominado también secuencia, u otra unidad independientemente descodificable definida de acuerdo con unas técnicas de codificación aplicables.
En la actualidad se están dedicando esfuerzos en la elaboración de una nueva norma de codificación de vídeo, conocida actualmente como Codificación de Vídeo de Alta Eficiencia (HEVC). La próxima norma HVEC también puede denominarse H.265. Los esfuerzos realizados en la normalización se basan en un modelo de un dispositivo de codificación de vídeo denominado Modelo de Prueba de HEVC (HM). El HM supone varias capacidades de los dispositivos de codificación de vídeo respecto a dispositivos de acuerdo con, por ejemplo, la norma ITU-T H.264/AVC.
Por ejemplo, mientras que la norma H.264 proporciona nueve modos de codificación de intra-predicción, el HM proporciona hasta treinta y tres modos de codificación de intra-predicción, por ejemplo, basándose en el tamaño de un bloque que se está codificando con intra-predicción.
HM hace referencia a un bloque de datos de vídeo con el término unidad de codificación (CU). Los datos sintácticos de un flujo de bits pueden definir la unidad de codificación más grande (LCU), que es la unidad de codificación de mayor tamaño en lo que respecta al número de píxeles. En general, una CU tiene un propósito similar a un macrobloque de la norma H.264, excepto en que una CU no tiene una distinción de tamaño. Por lo tanto, una CU puede dividirse en varias sub-CU. En general, las referencias de esta divulgación a una CU pueden referirse a la unidad de codificación más grande de una imagen o a una sub-CU de una LCU. Una LCU puede dividirse en varias sub-CU, y cada sub-CU puede dividirse en varias sub-CU. Los datos sintácticos para un flujo de bits pueden definir un número máximo de veces en que puede dividirse una LCU, que se denomina profundidad de CU. Por consiguiente, un flujo de bits también puede definir una unidad de codificación mínima (SCU). Esta divulgación también utiliza el término "bloque" para referirse a cualquiera de entre una CU, una unidad de predicción (PU) o una unidad de transformación (TU).
Una LCU puede asociarse a una estructura de datos en árbol cuaternario. En general, una estructura de datos en árbol cuaternario incluye un nodo por cada CU, donde un nodo raíz corresponde a la LCU. Si una CU se divide en cuatro sub-CU, el nodo correspondiente a la CU incluye cuatro nodos hoja, cada uno de los cuales corresponde a una de las sub-CU. Cada nodo de la estructura de datos de árbol cuaternario puede proporcionar datos sintácticos para la CU correspondiente. Por ejemplo, un nodo en el árbol cuaternario puede incluir un indicador de división, que indica si la CU correspondiente al nodo está dividida o no en varias sub-CU. Los elementos sintácticos para una CU pueden definirse de manera recursiva y pueden depender de si la CU está dividida o no en varias sub-CU.
Una CU que no está dividida puede incluir una o más unidades de predicción (PU). En general, una PU representa la totalidad o una parte de la CU correspondiente, e incluye datos para recuperar una muestra de referencia para la PU. Por ejemplo, cuando la PU está codificada en modo de intra, la PU puede incluir datos que describen un modo de intra-predicción para la PU. Por ejemplo, de acuerdo con las técnicas de esta divulgación, un conjunto fijo de modos de intra-predicción candidatos más probables para cada PU en una CU. El conjunto fijo de candidatos de MPM puede incluir dos o más modos de intra-predicción candidatos basándose en los modos de intra-predicción de bloques contiguos a un bloque actual. Como otro ejemplo, cuando la PU está codificada de modo de inter, la PU puede incluir datos que definen un vector de movimiento para la PU. Los datos que definen el vector de movimiento pueden describir, por ejemplo, un componente horizontal del vector de movimiento, un componente vertical del vector de movimiento, una resolución para el vector de movimiento (por ejemplo, con una precisión de un cuarto de píxel o una precisión de un octavo de píxel), una trama de referencia a la que apunta el vector de movimiento y/o una lista de referencia (por ejemplo, lista 0 o lista 1) para el vector de movimiento. Los datos para la CU que definen la(s) PU también pueden describir, por ejemplo, una división de la CU en una o más PU. Los modos de división pueden diferir en función de si la CU está sin codificar, codificada en el modo de intra-predicción o codificada en el modo de inter predicción.
Una CU que presenta una o más PU también puede incluir una o más unidades de transformación (TU). Tras la predicción utilizando una PU, un codificador de vídeo puede calcular un valor residual para la parte de la CU correspondiente a la PU. Un conjunto de valores residuales puede transformarse, escanearse y cuantificarse para definir un conjunto de coeficientes de transformación. La TU define una estructura de datos que incluye los coeficientes de transformación. Una TU no está necesariamente limitada al tamaño de una PU. Por lo tanto, las TU pueden ser más grandes o más pequeñas que las PU correspondientes para la misma CU. En algunos ejemplos, el tamaño máximo de una TU puede corresponder al tamaño de la CU correspondiente.
De acuerdo con las técnicas de esta divulgación, el codificador de vídeo 20 puede codificar ciertos bloques de datos de vídeo usando codificación de modo de intra-predicción, y proporcionar información que indica un modo de intrapredicción seleccionado utilizado para codificar el bloque. El codificador de vídeo 20 puede codificar mediante intrapredicción bloques de cualquier tipo de trama o fragmento utilizando un modo de intra-predicción, por ejemplo, tramas I o fragmentos I, además de tramas P o fragmentos P y tramas B o fragmentos B. Cuando el codificador de vídeo 20 determina que un bloque debe codificarse mediante modo de intra-predicción, el codificador de vídeo 20 puede realizar un análisis de distorsión de velocidad para seleccionar un modo de codificación de intra-predicción más apropiado. Por ejemplo, el codificador de vídeo 20 puede calcular valores de distorsión de velocidad para uno o más modos de codificación de intra-predicción, y seleccionar uno de los modos que tienen características de distorsión de velocidad aceptables.
El codificador de vídeo 20 también se puede configurar para determinar un contexto de codificación para el bloque. El contexto puede incluir varias características del bloque tales como, por ejemplo, un tamaño del bloque, que puede determinarse en términos de dimensiones de píxeles, tipo de unidad de predicción (PU) tal como, en el ejemplo de HEVC, 2Nx2N, Nx2N, 2NxN, NxN, tipos de intra-predicción de corta distancia (SDIP) tales como 2NxN/2, N/2x2N, 2Nx1, 1x2N, un tipo de macrobloque en el ejemplo de H.264, una profundidad de unidad de codificación (CU) para el bloque, u otras medidas de tamaño para un bloque de datos de vídeo. En algunos ejemplos, el contexto puede corresponder a cómo alguno o todos los modos de intra-predicción para un bloque contiguo superior, un bloque contiguo izquierdo, un bloque contiguo superior izquierdo, un bloque contiguo superior derecho u otros bloques contiguos. En algunos ejemplos, el contexto puede incluir tanto modos de intra-predicción para uno o más bloques como información de tamaño para el bloque actual que se está codificando.
En cualquier caso, el codificador de vídeo 20 puede incluir datos de configuración que asignan el contexto para el bloque a diversas características de codificación para el bloque actual. Por ejemplo, basándose en el contexto del bloque, los datos de configuración pueden indicar uno o más modos de intra-predicción más probables. De acuerdo con las técnicas de esta divulgación, el codificador de vídeo 20 puede determinar uno o más modos de codificación más probables para un bloque, basándose en un contexto de codificación para el bloque, así como una tabla de índices de modos de intra y una tabla de palabras de código basándose en el contexto de codificación para el bloque. La tabla de palabras de código puede comprender una tabla de códigos de longitud variable (VLC) para CAVCL o una tabla de binarización para codificación aritmética binaria adaptativa al contexto (CABAC). En CABAC, el codificador de vídeo 20 puede además codificar en aritmética binaria un valor binario seleccionado de la tabla. Después de seleccionar el modo de intra-predicción a usar para codificar el bloque, el codificador de vídeo 20 puede determinar si el modo de intra-predicción seleccionado es el modo de intra-predicción más probable para el bloque. Si el modo seleccionado es el modo más probable, el codificador de vídeo 20 puede indicar el modo de intra-predicción usando una palabra de código de un solo bit (por ejemplo, "0" o "1"). Suponiendo sin pérdida de generalidad que la palabra de código de un solo bit tiene un valor de "0" y que la tabla de palabras de código es una tabla de VLC, otras palabras de código en la tabla de VLC pueden comenzar con "1" para evitar violar los requisitos de prefijo de VLC (es decir, que ninguna palabra de código en la tabla sea un prefijo de otra palabra de código en la tabla). En ejemplos en los que el modo de intrapredicción seleccionado no es uno de los modos más probables, el codificador de vídeo 20 puede indicar el modo de intra-predicción real. En algunos ejemplos, se puede establecer un indicador que indique que el modo de intrapredicción real no se incluye en la lista de candidatos de modos de intra-predicción más probables.
El codificador de vídeo 20 puede, en algunos ejemplos, estar configurado para comenzar el análisis para la selección de un modo de codificación de intra-predicción con el modo de codificación más probable, basándose en el contexto. Cuando el modo de codificación más probable alcanza características de distorsión de velocidad adecuadas, en algunos ejemplos, el codificador de vídeo 20 puede seleccionar el modo de codificación más probable. En otros ejemplos, el codificador de vídeo 20 no necesita comenzar el proceso de selección con el modo de codificación más probable.
Tras una codificación intra-predictiva o inter-predictiva para generar datos predictivos y datos residuales, y tras cualquier transformación (tal como la transformación de número entero 4x4 u 8x8 usada en la norma H.264/AVC o una transformación discreta del coseno DCT) para generar coeficientes de transformación, puede llevarse a cabo la cuantificación de los coeficientes de transformación. La cuantificación se refiere en general a un proceso en el que los coeficientes de transformación se cuantifican para reducir posiblemente la cantidad de datos utilizados para representar los coeficientes. El proceso de cuantificación puede reducir la profundidad de bits asociada a algunos o a la totalidad de los coeficientes. Por ejemplo, un valor de n bits puede redondearse a la baja hasta un valor de m bits durante la cuantificación, donde n es mayor que m.
Tras la cuantificación, puede llevarse a cabo la codificación por entropía de los datos cuantificados, por ejemplo de acuerdo con la codificación de longitud variable adaptativa al contenido (CAVLC), la codificación aritmética binaria adaptativa al contexto (CABAC) u otra metodología de codificación por entropía. Una unidad de procesamiento configurada para la codificación por entropía, u otra unidad de procesamiento, puede desempeñar otras funciones de procesamiento, tales como la codificación de coordenada diferencial cero de coeficientes cuantificados y/o la generación de información sintáctica, tal como valores de patrón de bloque codificado (CBP), tipo de macrobloque, modo de codificación, tamaño máximo de macrobloque para una unidad codificada (tal como una trama, un fragmento, un macrobloque o una secuencia) o similar.
El descodificador de vídeo 30 puede finalmente recibir datos de vídeo codificados, por ejemplo, desde el módem 28 y el receptor 26. De acuerdo con las técnicas de esta divulgación, el descodificador de vídeo 30 puede recibir una palabra de código representativa de un modo de intra-predicción usado para codificar un bloque de datos de vídeo. El descodificador de vídeo 30 puede configurarse para determinar un contexto de codificación para el bloque de una manera sustancialmente similar al codificador de vídeo 20. Además, el descodificador de vídeo 30 puede incluir datos de configuración similares al codificador de vídeo 20, por ejemplo, indicaciones de un modo de codificación más probable, una tabla de índices de modos de intra-predicción y una tabla de VLC para cada contexto de codificación.
Cuando se utiliza un modo de intra-predicción más probable, si la palabra de código comprende una palabra de código de un solo bit, el descodificador de vídeo 30 puede determinar que el modo de intra-predicción utilizado para codificar el bloque codificado era el modo de intra-predicción más probable. Por supuesto, como se analizó anteriormente, la palabra de código de un solo bit no debería ser un prefijo de las palabras de código de la tabla de VLC. En consecuencia, si la palabra de código recibida no es la palabra de código de un solo bit, el descodificador de vídeo 30 puede determinar el modo de intra-predicción usado para codificar el bloque de datos de vídeo de una manera en general recíproca a la del codificador de vídeo 20.
El codificador de vídeo 20 y el descodificador de vídeo 30 pueden implementarse, cada uno, como cualquiera entre una amplia variedad de circuitería de codificadores o descodificadores adecuados, según corresponda, tales como uno o más microprocesadores, procesadores de señales digitales (DSP), circuitos integrados específicos de la aplicación (ASIC), matrices de compuertas programables sobre el terreno (FPGA), circuitería de lógica discreta, software, hardware, firmware o cualquier combinación de los mismos. Cada uno entre el codificador de vídeo 20 y el descodificador de vídeo 30 puede estar incluido en uno o más codificadores o descodificadores, cada uno de los cuales puede estar integrado como parte de un codificador/descodificador (CÓDEC) de vídeo combinado. Un aparato que incluye un codificador de vídeo 20 y/o un descodificador de vídeo 30 puede comprender un circuito integrado, un microprocesador y/o un dispositivo de comunicación inalámbrica, tal como un teléfono celular.
La FIG. 3 es un diagrama de bloques que ilustra un ejemplo de codificador de vídeo 20 que puede implementar técnicas para codificar información indicativa de un modo de intra-predicción, y que puede usarse para implementar las diversas técnicas descritas anteriormente. El codificador de vídeo 20 puede realizar la intra e inter-codificación de bloques dentro de tramas de vídeo, incluyendo macrobloques, o particiones o sub-particiones de macrobloques. La intracodificación se basa en la predicción espacial para reducir o eliminar la redundancia espacial en el vídeo en una trama de vídeo dada. La inter-codificación se basa en la predicción temporal para reducir o eliminar la redundancia temporal en el vídeo dentro de tramas adyacentes de una secuencia de vídeo. El modo de intra (modo I) puede referirse a cualquiera de varios modos de compresión con base espacial, y los modos de inter tales como predicción unidireccional (modo P) o predicción bidireccional (modo B), pueden referirse a cualquiera de varios modos de compresión con base temporal. Aunque los componentes para la codificación de modo de inter se representan en la FIG. 3, se debe entender que el codificador de vídeo 20 puede incluir además componentes para la codificación de modo de intra. Sin embargo, tales componentes no se ilustran en aras de la brevedad y la claridad.
Como se muestra en la FIG. 3, el codificador de vídeo 20 recibe un bloque de vídeo actual dentro de una trama de vídeo a codificar. En el ejemplo de la FIG. 2, el codificador de vídeo 20 incluye una unidad de compensación de movimiento 44, una unidad de estimación de movimiento 42, una memoria 64, un sumador 50, una unidad de procesamiento de transformación 52, una unidad de cuantificación 54 y una unidad de codificación por entropía 56. Para la reconstrucción de bloques de vídeo, el codificador de vídeo 20 incluye además la unidad de cuantificación inversa 58, la unidad de transformación inversa 60 y el sumador 62. También puede incluirse un filtro de eliminación de pixelado para filtrar los límites de bloque a fin de eliminar distorsiones de pixelado del vídeo reconstruido. Si se desea, el filtro de eliminación de pixelado filtrará típicamente la salida del sumador 62.
Durante el proceso de codificación, el codificador de vídeo 20 recibe una trama o un fragmento de vídeo que va a codificarse. La trama o el fragmento puede estar dividido en múltiples bloques de vídeo. La unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 llevan a cabo una codificación de inter-predictiva del bloque de vídeo recibido con respecto a uno o más bloques de uno o más tramas de referencia para proporcionar una compresión temporal. La unidad de intra-predicción 46 puede llevar a cabo una codificación intra-predictiva del bloque de vídeo recibido con respecto a uno o más bloques contiguos de la misma trama o fragmento que el bloque que va a codificarse para proporcionar compresión espacial.
La unidad de selección de modo 40 puede seleccionar uno de los modos de codificación, intra o inter, por ejemplo, basándose en los resultados de errores y basándose en un tipo de trama o fragmento para la trama o fragmento que incluye un bloque actual que va a codificarse, y proporciona el bloque intra-codificado o inter-codificado resultante al sumador 50 para generar datos de bloque residuales y al sumador 62 para reconstruir el bloque codificado para su uso como una trama de referencia. En general, la intra-predicción implica la predicción de un bloque actual con respecto a bloques contiguos codificados previamente, mientras que la inter-predicción implica la estimación de movimiento y la compensación de movimiento para predecir temporalmente el bloque actual.
La unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 representan los elementos de inter-predicción del codificador de vídeo 20. La unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 pueden estar sumamente integradas, pero se ilustran por separado con fines conceptuales. La estimación de movimiento es el proceso de generar vectores de movimiento, que estiman el movimiento para los bloques de vídeo. Un vector de movimiento, por ejemplo, puede indicar el desplazamiento de un bloque predictivo de una trama de referencia predictiva (u otra unidad codificada) con respecto al bloque actual que está codificándose en la trama actual (u otra unidad codificada). Un bloque predictivo es un bloque que se revela como estrechamente coincidente con el bloque a codificar en lo que respecta a la diferencia de píxeles, que puede determinarse mediante la suma de una diferencia absoluta (SAD), una suma de diferencia de cuadrados (SSD) u otras métricas de diferencia. Un vector de movimiento también puede indicar el desplazamiento de una partición de un macrobloque. La compensación de movimiento puede implicar extraer o generar el bloque predictivo basándose en el vector de movimiento determinado por la estimación de movimiento. De nuevo, la unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 pueden integrarse funcionalmente, en algunos ejemplos.
La unidad de estimación de movimiento 42 calcula un vector de movimiento para el bloque de vídeo de una trama inter-codificada mediante la comparación del bloque de vídeo con los bloques de vídeo de una trama de referencia en la memoria de tramas de referencia 64. La unidad de compensación de movimiento 44 también puede interpolar píxeles sub-enteros de la trama de referencia, por ejemplo, una trama I o una trama P. La norma ITU H.264, por ejemplo, describe dos listas: la lista 0, que incluye las tramas de referencia que tienen un orden de visualización anterior a la trama actual que se está codificando, y la lista 1, que incluye las tramas de referencia que tienen un orden de visualización posterior a la trama actual que se está codificando. Por lo tanto, los datos almacenados en la memoria de tramas de referencia 64 pueden organizarse de acuerdo con estas dos listas.
La unidad de estimación de movimiento 42 compara bloques de una o más tramas de referencia de la memoria de tramas de referencia 64 con un bloque a codificar de una trama actual, por ejemplo, una trama P o una trama B. Cuando las tramas de referencia en la memoria de tramas de referencia 64 incluyen valores para píxeles sub-enteros, un vector de movimiento calculado por la unidad de estimación de movimiento 42 puede referirse a una ubicación de píxel sub-entero de una trama de referencia. La unidad de estimación de movimiento 42 y/o la unidad de compensación de movimiento 44 también puede configurarse para calcular valores de posiciones de píxeles sub-enteros de tramas de referencia almacenados en la memoria de tramas de referencia 64 si no hay valores de posiciones de píxeles sub enteros almacenados en la memoria de tramas de referencia 64. La unidad de estimación de movimiento 42 envía el vector de movimiento calculado a la unidad de codificación por entropía 56 y a la unidad de compensación de movimiento 44. El bloque de trama de referencia identificado por un vector de movimiento puede denominarse un bloque predictivo. La unidad de compensación de movimiento 44 puede calcular los datos de predicción basándose en el bloque inter-predictivo.
La unidad de intra-predicción 46 puede intra-predecir un bloque actual, de forma alternativa a la inter-predicción llevada a cabo por la unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44, como se ha descrito anteriormente. En particular, la unidad de intra-predicción 46 puede determinar un modo de intra-predicción que se va a utilizar para codificar un bloque actual. En algunos ejemplos, la unidad de intra-predicción 46 puede codificar un bloque actual usando varios modos de intra-predicción, por ejemplo, durante diferentes pases de codificación, y la unidad de intra-predicción 46 (o la unidad de selección de modo 40, en algunos ejemplos) puede seleccionar una modo adecuado de intra-predicción para utilizar a partir de los modos probados. Por ejemplo, la unidad de intra-predicción 46 puede calcular valores de velocidad-distorsión usando un análisis de velocidad-distorsión para los diversos modos de intra-predicción probadas, y seleccionar el modo de intra-predicción que tenga las mejores características de velocidad-distorsión entre los modos probados. El análisis de velocidad-distorsión determina, en general, una magnitud de distorsión (o error) entre un bloque codificado y un bloque original no codificado que se codificó para generar el bloque codificado, así como una velocidad de bits (es decir, un número de bits) utilizada para generar el bloque codificado. La unidad de intra-predicción 46 puede calcular razones a partir de las distorsiones y velocidades para los diversos bloques codificados, para determinar qué modo de intra-predicción presenta el mejor valor de velocidad-distorsión para el bloque.
En cualquier caso, tras seleccionar un modo de intra-predicción para un bloque, la unidad de intra-predicción 46 puede proporcionar información que indica el modo de intra-predicción seleccionado para el bloque, a la unidad de codificación por entropía 56. La unidad de codificación por entropía 56 puede codificar la información que indica el modo de intra-predicción seleccionado de acuerdo con las técnicas de esta divulgación. Como se ilustra en la FIG. 3, el codificador de vídeo 20 puede incluir datos de configuración 66, que pueden incluir una pluralidad de tablas de índices de modo de intra-predicción y una pluralidad de tablas de índices de palabras de código (también denominadas tablas de asignación de palabras de código), definiciones de contextos de codificación para varios bloques e indicaciones de un modo de intra-predicción más probable, una tabla de índices de modos de intra-predicción y una tabla de índices palabras de código para usar en cada uno de los contextos.
En los ejemplos donde el número de modos de intra-predicción varía basándose en el tamaño de bloque, los datos de configuración 66 pueden incluir diferentes tablas para diferentes tamaños de bloques. Por consiguiente, un contexto para codificar una indicación de un modo de intra-predicción usado para codificar un bloque puede incluir un tamaño del bloque, así como modos de codificación usados para codificar bloques contiguos. La unidad de codificación por entropía 56 puede seleccionar la tabla de índices de modos y la tabla de asignación de palabras de código usada para seleccionar una palabra de código representativa del modo de intra-predicción seleccionado usado para codificar el bloque basándose en el contexto para el bloque. Además, las tablas de índices de modo para bloques de un tamaño particular pueden tener números de entradas iguales a la cantidad de modos de intra-predicción para bloques de ese tamaño. Por lo tanto, las tablas de índices de modo para bloques de tamaño 4x4 pueden tener 17 entradas, las tablas de índices de modo para bloques de tamaño 8x8, 16x16 y 32x32 pueden tener 34 entradas, y las tablas de índices de modo para bloques de tamaño 64x64 pueden tener 5 entradas. Otros tamaños de bloques, por ejemplo, 128x128, también pueden tener un número determinado de modos de intra-predicción disponibles.
Los modos de intra-predicción disponibles para bloques de tamaño 8x8, 16x16 y 32x32 pueden ser el mismo, y por lo tanto, se pueden usar las mismas tablas de índices de modo para bloques de tamaños 8x8, 16x16 y 32x32. Aunque los mismos modos pueden ser posibles para bloques de estos tamaños, la probabilidad de utilizar un modo particular para codificar un bloque puede variar basándose en el tamaño del bloque. En consecuencia, la unidad de codificación por entropía 56 puede determinar una tabla de asignación de palabras de código para una tabla de índices de modos particular basándose en el tamaño del bloque para el cual se debe indicar un modo de intra-predicción, en algunos ejemplos.
Por ejemplo, el codificador de vídeo 20 determina el conjunto de modos más probables. La unidad de intra-predicción 46 puede determinar un modo de intra-predicción real de bloques contiguos del bloque actual. El codificador de vídeo 20 también puede configurarse para determinar un primer modo de intra-predicción para un bloque contiguo izquierdo del bloque, determinar un segundo modo de intra-predicción para un bloque contiguo superior del bloque, y cuando el primer modo de intra-predicción es diferente del segundo modo de intra-predicción, incluir tanto el primer modo de intra-predicción como el segundo modo de intra-predicción en el conjunto de modos de intra-predicción más probables. Por ejemplo, con referencia a la FIG. 1, la unidad de intra-predicción 46 puede determinar modos de intra-predicción reales usados para los bloques contiguos A (4) y B (6) con respecto al bloque actual C (8). Basándose en los modos de intra-predicción usados para los bloques contiguos A (4) y B (6), la unidad de intra-predicción 46 determina los modos más probables para el bloque C (8). La unidad de intra-predicción 46 puede comparar el modo de intrapredicción real usado para el bloque contiguo A (4) con el modo de intra-predicción real usado para el bloque contiguo B (6). Basándose en esta comparación, se puede incluir un modo de intra-predicción particular, como el modo planar, en el conjunto de modos más probables para el bloque C (8). La unidad de intra-predicción 46 también puede determinar un modo real a usar para intra-predecir el bloque actual C (8).
Cuando el primer modo de intra-predicción es el mismo que el segundo modo de intra-predicción, y cuando el primer y segundo modos de intra-predicción comprenden un modo que no sea un modo planar, la unidad de intra-predicción 46 incluye el modo planar en el conjunto de modos de intra-predicción más probables. En otro ejemplo, cuando el primer modo de intra-predicción es el mismo que el segundo modo de intra-predicción, y cuando el primer y segundo modos de intra-predicción comprenden un modo planar, la unidad de intra-predicción 46 incluye el modo planar y un modo DC en el conjunto de modos de intra-predicción más probables.
En otro ejemplo, cuando el bloque actual comprende un bloque de luminancia, el codificador de vídeo 20 determina, para un bloque de crominancia correspondiente al bloque de luminancia, una asignación de un conjunto de valores a un conjunto de modos de intra-predicción, con el conjunto de modos de intra-predicción que comprende modo horizontal, modo vertical, modo planar, modo DC y modo de predicción de señal de luma. Cuando el modo de intrapredicción real para el bloque de luminancia comprende un modo distinto al modo horizontal, modo vertical, modo planar y modo DC, el conjunto de modos de intra-predicción comprende además una reutilización del modo de intrapredicción de luma asignado a partir de un primer valor del conjunto de valores. Cuando el modo de intra-predicción real para el bloque de luminancia comprende uno de modo horizontal, modo vertical, modo planar y modo DC, el conjunto de modos de intra-predicción comprende además un modo distinto al modo horizontal, modo vertical, modo planar y modo DC asignados a partir del primer valor del conjunto de valores; el codificador de vídeo 20 codifica un valor representativo de un modo de intra-predicción real para el bloque de crominancia basándose en la asignación del conjunto de valores al conjunto de modos.
En otro ejemplo, la unidad de intra-predicción 46 determina una dirección de predicción del modo de intra-predicción real e incluye al menos un modo de intra-predicción que tiene una dirección de predicción cercana a la dirección de predicción del modo de intra-predicción real en el conjunto de modos de intra-predicción más probables.
En otro ejemplo, cuando el tamaño del conjunto de modos de intra-predicción más probables es igual a tres, la unidad de intra-predicción 46 determina una dirección de predicción de un primer modo de intra-predicción y compara la dirección de predicción del primer modo de intra-predicción con las direcciones de predicción de uno o más modos de intra-predicción disponibles distintos. La unidad de intra-predicción 46 incluye el primer modo de intra-predicción en el conjunto de modos de intra-predicción más probables. Además, basándose en la comparación, la unidad de intrapredicción 46 incluye un segundo y un tercer modos de intra-predicción del uno o más modos de intra-predicción disponibles en el conjunto de modos de intra-predicción más probables, en el que el segundo y el tercer modos de intra-predicción tienen direcciones de predicción que se determina que están más cerca de la dirección de predicción del primer modo de intra-predicción.
Después de la predicción de un bloque actual, por ejemplo, usando intra-predicción o inter-predicción, el codificador de vídeo 20 puede formar un bloque de vídeo residual restando los datos de predicción calculados por la unidad de compensación de movimiento 44 o la unidad de intra-predicción 46 del bloque de vídeo original que se está codificando. El sumador 50 representa el componente o los componentes que realizan esta operación de resta. La unidad de procesamiento de transformaciones 52 aplica una transformación, tal como una transformación discreta del coseno (DCT) o una transformación conceptualmente similar al bloque residual, generando un bloque de vídeo que comprende valores residuales de coeficientes de transformación. La unidad de procesamiento de transformación 52 puede llevar a cabo otras transformaciones, tales como las definidas por la norma H.264, que son conceptualmente similares a la DCT. También podrían usarse transformaciones de ondículas, transformaciones de enteros, transformaciones de sub-bandas u otros tipos de transformaciones. En cualquier caso, la unidad de procesamiento de transformaciones 52 aplica la transformación al bloque residual, generando un bloque de coeficientes de transformación residuales. La transformación puede convertir la información residual, desde un dominio de valores de píxel a un dominio de transformaciones, tal como un dominio de frecuencia. La unidad de cuantificación 54 cuantifica los coeficientes de transformación residuales para reducir todavía más la velocidad de bits. El proceso de cuantificación puede reducir la profundidad de bits asociada a algunos o a la totalidad de los coeficientes. El grado de cuantificación puede modificarse ajustando un parámetro de cuantificación.
Tras la cuantificación, la unidad de codificación por entropía 56 realiza la codificación por entropía de los coeficientes de transformación cuantificados. Por ejemplo, la unidad de codificación por entropía 56 puede realizar codificación de longitud variable adaptativa al contenido (CAVLC), codificación aritmética binaria adaptativa al contexto (CABAC) u otra técnica de codificación por entropía. Tras la codificación por entropía realizada por la unidad de codificación por entropía 56, el vídeo codificado puede transmitirse a otro dispositivo o archivarse para su posterior transmisión o recuperación. En el caso de una codificación aritmética binaria adaptativa al contexto, el contexto puede basarse en tamaños de bloque y/o bloques contiguos.
En algunos casos, la unidad de codificación por entropía 56 u otra unidad de codificador de vídeo 20 pueden estar configuradas para realizar otras funciones de codificación, además de la codificación por entropía y la codificación del modo de intra-predicción como se ha descrito anteriormente. Por ejemplo, la unidad de codificación por entropía 56 puede estar configurada para determinar los valores de patrón de bloque codificado (CBP) para los bloques y particiones. Además, en algunos casos, la unidad de codificación por entropía 56 puede realizar una codificación de longitud de ejecución de los coeficientes en un macrobloque o partición del mismo. En particular, la unidad de codificación por entropía 56 puede aplicar un escaneado en zigzag u otro patrón de escaneado para escanear los coeficientes de transformación en un macrobloque o partición y codificar secuencias de ceros para una mayor compresión. La unidad de codificación por entropía 56 también puede construir la información de cabecera con los elementos sintácticos adecuados para la transmisión en el flujo de bits de vídeo codificado.
La unidad de cuantificación inversa 58 y la unidad de transformación inversa 60 aplican la cuantificación inversa y la transformación inversa, respectivamente, para reconstruir el bloque residual en el dominio de píxeles, por ejemplo, para su uso posterior como un bloque de referencia. La unidad de compensación de movimiento 44 puede calcular un bloque de referencia añadiendo el bloque residual a un bloque predictivo de una de las tramas de la memoria de tramas de referencia 64. La unidad de compensación de movimiento 44 también puede aplicar uno o más filtros de interpolación al bloque residual reconstruido para calcular valores de píxeles sub-enteros y usarlos en la estimación de movimiento. El sumador 62 añade el bloque residual reconstruido al bloque de predicción compensado por movimiento generado por la unidad de compensación de movimiento 44 para generar un bloque de vídeo reconstruido para su almacenamiento en la memoria de tramas de referencia 64. El bloque de vídeo reconstruido puede ser usado por la unidad de estimación de movimiento 42 y la unidad de compensación de movimiento 44 como un bloque de referencia para inter-codificar un bloque en una trama de vídeo posterior.
De esta manera, el codificador de vídeo 20 representa un ejemplo de un codificador de vídeo configurado para determinar uno o más modos de codificación de intra-predicción más probables para un bloque actual de datos de vídeo basándose en un contexto de codificación para el bloque actual, seleccionar una tabla de palabras de código basándose en el contexto del bloque actual, en el que la tabla de palabras de código comprende una pluralidad de palabras de código de longitud variable correspondientes a índices de palabras de código que corresponden a modos de intra-predicción distintos del (de los) modo(s) de intra-predicción más probables basándose en el contexto, codificar el bloque actual utilizando uno de los modos de intra-predicción que no sean el modo de codificación de intra-predicción más probable, determinar uno de los índices de palabras de código que corresponda a uno de los modos de intrapredicción utilizando la tabla de palabras de código, y generar un palabra de código de la tabla seleccionada de palabras de código, en el que la palabra de código corresponda a uno de los índices de palabras de código.
La FIG. 4 es un diagrama de bloques que ilustra un ejemplo de descodificador de vídeo 30, que descodifica una secuencia de vídeo codificado, y que puede usarse para implementar las diversas técnicas descritas en el presente documento. En el ejemplo de la FIG. 3, el descodificador de vídeo 30 incluye una unidad de descodificación por entropía 70, una unidad de compensación de movimiento 72, una unidad de intra-predicción 74, una unidad de cuantificación inversa 76, una unidad de transformación inversa 78, una memoria 82 y un sumador 80. En algunos ejemplos, el descodificador de vídeo 30 puede llevar a cabo una pasada de descodificación en general recíproca a la pasada de codificación descrita con respecto al codificador de vídeo 20 (FIG. 3). La unidad de compensación de movimiento 72 puede generar datos de predicción basándose en vectores de movimiento recibidos desde la unidad de descodificación por entropía 70.
La unidad de compensación de movimiento 72 puede usar vectores de movimiento recibidos en el flujo de bits para identificar un bloque de predicción en las tramas de referencia en la memoria de tramas de referencia 82. La unidad de intra-predicción 74 puede usar modos de intra-predicción recibidos en el flujo de bits para formar un bloque de predicción a partir de bloques espacialmente adyacentes. En particular, el descodificador de vídeo 30, en el ejemplo de la FIG. 4, incluye datos de configuración 84. Los datos de configuración 84 son sustancialmente similares a los datos de configuración 66 de la FIG. 3, en que los datos de configuración 84 incluyen información que describe contextos para bloques intra-predichos, así como una de una pluralidad de tablas de asignación de índice de intrapredicción a usar para cada contexto, una de una pluralidad de tablas de índices de palabras de código (o asignación de palabras de código) a usar para cada contexto, y un modo de intra-predicción más probable para cada contexto.
La unidad de descodificación por entropía 70 puede recibir un representante de palabra de código de un modo de intra-predicción a usar para descodificar un bloque codificado de datos de vídeo. En algunos ejemplos, la palabra de código puede ser una palabra de código de<v>L<c>o un valor binario codificado por entropía que se descodifica por entropía en primer lugar usando CABAC. La unidad de descodificación por entropía 70 puede determinar un contexto para el bloque codificado, por ejemplo, basándose en los modos de intra-predicción para un bloque contiguo izquierdo y un bloque contiguo superior al bloque codificado y/o un tamaño para el bloque codificado. Es decir, el contexto puede corresponder a los dos o más modos más probables. Las palabras de código proporcionan una indicación del modo de intra-predicción real para el bloque actual. Por ejemplo, la palabra de código indica si el modo de intra-predicción real es uno de los modos más probables, y si no, la unidad de intra-predicción 74 proporciona una indicación del modo de intra-predicción real. Basándose en el contexto, la unidad de descodificación por entropía 70 puede determinar uno o más modos de intra-predicción más probables a usar para descodificar el bloque, así como una tabla de índices de inter-predicción y una tabla de índices de palabras de código a usar para determinar el modo de intra-predicción real a usar para descodificar el bloque.
La unidad de intra-predicción 74 puede utilizar el modo de intra-predicción, correspondiente a la indicación, para intrapredecir el bloque codificado, por ejemplo, usando píxeles de bloques contiguos, previamente descodificados. Para ejemplos en los que el bloque está codificado en modo de inter-predicción, la unidad de compensación de movimiento 72 puede recibir información que define un vector de movimiento, para recuperar datos de predicción compensados por movimiento para el bloque codificado. En cualquier caso, la unidad de compensación de movimiento 72 o la unidad de intra-predicción 74 puede proporcionar información que define un bloque de predicción para el sumador 80.
La unidad de cuantificación inversa 76 cuantifica de manera inversa, es decir, descuantifica, los coeficientes de bloques cuantificados, proporcionados en el flujo de bits y descodificados por la unidad de descodificación por entropía 70. El proceso de cuantificación inversa puede incluir un proceso convencional, por ejemplo, como el definido por la norma de descodificación H.264 o el realizado por el Modelo de Prueba de HVEC. El proceso de cuantificación inversa también puede incluir el uso de un parámetro de cuantificación QPY calculado por un codificador 50 para cada macrobloque con el fin de determinar el grado de cuantificación y, asimismo, el grado de cuantificación inversa que debería aplicarse.
La unidad de transformación inversa 58 aplica una transformación inversa, por ejemplo, una DCT inversa, una transformación de entero inversa o un proceso de transformación inversa conceptualmente similar a los coeficientes de transformación, con el fin de generar bloques residuales en el dominio de píxeles. La unidad de compensación de movimiento 72 genera bloques compensados por movimiento, posiblemente llevando a cabo una interpolación basándose en filtros de interpolación. Los identificadores de los filtros de interpolación que van a usarse para la estimación de movimiento con una precisión de fracción de píxel pueden incluirse en los elementos sintácticos. La unidad de compensación de movimiento 72 puede usar filtros de interpolación como los usados por el codificador de vídeo 20 durante la codificación del bloque de vídeo para calcular valores interpolados para fracciones de píxeles de un bloque de referencia. La unidad de compensación de movimiento 72 puede determinar los filtros de interpolación usados por el codificador de vídeo 20 de acuerdo con la información sintáctica recibida y usar los filtros de interpolación para generar bloques predictivos.
La unidad de compensación de movimiento 72 usa parte de la información sintáctica para determinar tamaños de bloques usados para codificar trama(s) de la secuencia de vídeo codificado, información de división que describe cómo está dividido cada bloque de una trama o fragmento de la secuencia de vídeo codificado, modos que indican cómo está codificada cada división, una o más tramas de referencia (y listas de tramas de referencia) para cada bloque o división inter-codificado y otra información para descodificar la secuencia de vídeo codificado.
El sumador 80 suma los bloques residuales a los bloques de predicción correspondientes generados por la unidad de compensación de movimiento 72 o por la unidad de intra-predicción 74 para generar bloques descodificados. Si se desea, también puede aplicarse un filtro de eliminación de pixelado para filtrar los bloques descodificados con el fin de eliminar distorsiones de pixelado. Los bloques de vídeo descodificado se almacenan a continuación en la memoria de tramas de referencia 82, que proporciona bloques de referencia para la compensación de movimiento posterior y también produce vídeo descodificado para su presentación en un dispositivo de visualización (como el dispositivo de visualización 32 de la FIG. 2).
De esta manera, el descodificador de vídeo 30 de la FIG. 4 representa un ejemplo de un descodificador de vídeo configurado para determinar uno o más modos de intra-predicción más probables para un bloque codificado de datos de vídeo basándose en un contexto para el bloque actual, seleccionar una tabla de palabras de código basándose en el contexto para el bloque actual, en el que la tabla de palabras de código comprende una pluralidad de palabras de código de longitud variable correspondientes a índices de palabras de código que corresponden a modos de intrapredicción distintos del (de los) modo(s) de intra-predicción más probables basándose en el contexto, determinar uno de los índices de palabras de código que corresponde a una palabra de código recibida usando la tabla de palabras de código, seleccionar un modo de intra-predicción distinto del modo de intra-predicción más probable a usar para descodificar el bloque codificado, en el que el modo de intra-predicción seleccionado corresponde al índice de palabras de código determinado; y descodificar el bloque actual usando el modo de intra-predicción seleccionado.
De acuerdo con las técnicas descritas en el presente documento, el descodificador de vídeo 30 determina el conjunto de modos más probables para un bloque de vídeo actual. La unidad de intra-predicción 74 puede determinar un modo de intra-predicción real de bloques contiguos del bloque actual. El descodificador de vídeo 30 también puede configurarse para determinar un primer modo de intra-predicción para un bloque contiguo izquierdo del bloque, determinar un segundo modo de intra-predicción para un bloque contiguo superior del bloque, y cuando el primer modo de intra-predicción es diferente del segundo modo de intra-predicción, incluir tanto el primer modo de intra-predicción como el segundo modo de intra-predicción en el conjunto de modos de intra-predicción más probables. Por ejemplo, con referencia a la FIG. 1, la unidad de intra-predicción 74 puede determinar modos de intra-predicción reales usados para los bloques contiguos A (4) y B (6) con respecto al bloque actual C (8). Basándose en los modos de intrapredicción usados para los bloques contiguos A (4) y B (6), la unidad de intra-predicción 74 determina los modos más probables para el bloque C (8). La unidad de intra-predicción 74 puede comparar el modo de intra-predicción real usado para el bloque contiguo A (4) con el modo de intra-predicción real usado para el bloque contiguo B (6). Basándose en esta comparación, se puede incluir un modo de intra-predicción particular, como el modo planar, en el conjunto de modos más probables para el bloque C (8). La unidad de intra-predicción 74 también puede determinar un modo real a usar para intra-predecir el bloque actual C (8).
Cuando el primer modo de intra-predicción es el mismo que el segundo modo de intra-predicción, y cuando el primer y segundo modos de intra-predicción comprenden un modo que no sea un modo planar, la unidad de intra-predicción 74 incluye el modo planar en el conjunto de modos de intra-predicción más probables. En otro ejemplo, cuando el primer modo de intra-predicción es el mismo que el segundo modo de intra-predicción, y cuando el primer y segundo modos de intra-predicción comprenden un modo planar, la unidad de intra-predicción 74 incluye el modo planar y un modo DC en el conjunto de modos de intra-predicción más probables.
En otro ejemplo, cuando el bloque actual comprende un bloque de luminancia, el descodificador de vídeo 30 determina, para un bloque de crominancia correspondiente al bloque de luminancia, una asignación de un conjunto de valores a un conjunto de modos de intra-predicción, con el conjunto de modos de intra-predicción que comprenden modo horizontal, modo vertical, modo planar, modo DC y modo de predicción de señal de luma. Cuando el modo de intrapredicción real para el bloque de luminancia comprende un modo distinto al modo horizontal, modo vertical, modo planar y modo Dc , el conjunto de modos de intra-predicción comprende además una reutilización del modo de intrapredicción de luma asignado a partir de un primer valor del conjunto de valores. Cuando el modo de intra-predicción real para el bloque de luminancia comprende uno de modo horizontal, modo vertical, modo planar y modo DC, el conjunto de modos de intra-predicción comprende además un modo distinto al modo horizontal, modo vertical, modo planar y modo DC asignado a partir del primer valor del conjunto de valores; el descodificador de vídeo 30 descodifica un valor representativo de un modo de intra-predicción real para el bloque de crominancia basándose en la asignación del conjunto de valores al conjunto de modos.
En otro ejemplo, la unidad de intra-predicción 74 determina una dirección de predicción del modo de intra-predicción real del bloque actual e incluye al menos un modo de intra-predicción que tiene una dirección de predicción cercana a la dirección de predicción del modo de intra-predicción real en el conjunto de modos de intra-predicción más probables.
En otro ejemplo, cuando el tamaño del conjunto de modos de intra-predicción más probables es igual a tres, la unidad de intra-predicción 74 determina una dirección de predicción de un primer modo de intra-predicción y compara la dirección de predicción del primer modo de intra-predicción con las direcciones de predicción de uno o más modos de intra-predicción disponibles distintos. La unidad de intra-predicción 74 incluye el primer modo de intra-predicción en el conjunto de modos de intra-predicción más probables. Además, basándose en la comparación, la unidad de intrapredicción 74 incluye un segundo y un tercer modos de intra-predicción del uno o más modos de intra-predicción disponibles en el conjunto de modos de intra-predicción más probables, en el que el segundo y el tercer modos de intra-predicción tienen direcciones de predicción que se determina que están más cerca de la dirección de predicción del primer modo de intra-predicción.
La FIG. 5 es un diagrama que ilustra un ejemplo de 35 modos de intra-predicción y sus direcciones de predicción correspondientes. Como se define en este ejemplo, cada uno de los 35 valores de índice se asignan de manera única a diferentes modos de intra-predicción. En este ejemplo, el valor de índice 2 se asigna al modo de intra-predicción DC, el valor de índice 34 se asigna al modo de intra-predicción planar, y el valor de índice 35 se asigna al modo de intrapredicción from juma. El resto de los valores de índice se asignan al conjunto disponible de diferentes modos de intrapredicción, cada uno con una dirección de predicción. Por ejemplo, la unidad de intra-predicción 46 del codificador de vídeo 20 puede proporcionar uno de los cinco valores para un elemento sintáctico que indica el modo de intrapredicción real usado para codificar un bloque de luma. De forma similar, la unidad de intra-predicción 46 del codificador de vídeo 20 puede proporcionar uno de los seis valores para un elemento sintáctico que indica el modo de intra-predicción real usado para codificar un bloque de croma. Los seis valores pueden ser uno de los cinco valores utilizados para el bloque de luma, más un valor que indique una imitación del modo de intra-predicción que se usó para codificar el bloque de luma correspondiente.
Por ejemplo, el modo de intra-predicción asignado al valor de índice 0 tiene una dirección de predicción hacia arriba con respecto al bloque actual que se está codificando. Es decir, los píxeles utilizados para predecir un bloque actual provienen de la parte superior del bloque actual cuando se selecciona el modo asignado al valor de índice 0. Para ejemplos donde el número del modo de intra-predicción es 34, los modos de intra-predicción que tienen las direcciones de predicción más cercanas al modo de intra-predicción asignado al valor de índice 0 son los modos de intra-predicción asignados a los valores de índice 21 y 22. Para ejemplos donde el número de modos de intra-predicción es 17, los modos de intra-predicción que tienen las direcciones de predicción más cercanas al modo de intra-predicción asignado al valor de índice 0 son los modos de intra-predicción asignados a los valores de índice 11 y 12, porque los valores de índice 21 y 22 no están disponibles para el conjunto de 17 modos de intra-predicción.
En un esquema de numeración alternativo, el modo intra_planar puede corresponder al modo 0, en cuyo caso el número de modo de todos los demás modos se incrementaría en 1. Algunas de las tablas utilizadas a lo largo de esta divulgación en general corresponden a este esquema de numeración alternativo. Sin embargo, debe quedar claro para un experto en la materia ordinario que las técnicas de esta divulgación no están limitadas a un esquema de numeración particular.
La FIG. 6 es un diagrama que ilustra otro ejemplo de 35 modos de intra-predicción y sus direcciones de predicción correspondientes. Como se define en el ejemplo de la FIG. 6, cada uno de los 35 valores de índice se asigna de forma exclusiva a diferentes modos de intra-predicción. En este ejemplo, el valor de índice 0 se asigna al modo de intrapredicción planar, el valor de índice 1 se asigna al modo de intra-predicción DC, y el valor de índice 35 se asigna al modo de intra-predicción from_luma. El resto de los valores de índice se asignan al conjunto disponible de diferentes modos de intra-predicción, cada uno con una dirección de predicción.
El diagrama de la FIG. 6 muestra que IntraPredMode[ xB ][ yB ] etiquetado 0, 1,2, .., 35 representa las direcciones de las predicciones de acuerdo con la Tabla 3.1. La Tabla 3.1 especifica el valor para el modo de intra-predicción y los nombres asociados. El modo 34, por ejemplo, es un modo intra-angular que apunta a una dirección superior derecha del bloque actual a codificar. En algunos ejemplos, el modo 34 es el modo de intra-predicción en la dirección superior derecha.
- -
Las entradas a un proceso de obtención de ejemplo para modos de intra-predicción de luma incluyen una ubicación de luma ( xB, yB ) que especifica la muestra de luma superior izquierda del bloque actual con respecto a la muestra de luma superior izquierda de la imagen actual, una variable log2PUSize que especifica el tamaño de la unidad de predicción actual, y las matrices de variables IntraPredMode (si están disponibles) que se obtienen previamente (en orden de descodificación) para las unidades de codificación adyacentes. La salida del proceso de obtención del proceso de ejemplo para los modos de intra-predicción de luma es la variable IntraPredMode[ xB ][ yB ].
IntraPredMode[ xB ][ yB ] se puede obtener como los siguientes pasos ordenados. En primer lugar, las ubicaciones ( xBA, yBA ) y ( xBB, yBB ) se establecen igual a ( xB-1, yB ) y ( xB, yB-1 ), respectivamente. En segundo lugar, el bloque de codificación mínimo aborda cbAddrA y cbAddrB de los bloques de árbol de codificación que cubren las ubicaciones ( xBA, yBA) y ( xBB, yBB ), respectivamente, donde se obtienen de la siguiente manera:
cbAddrA
=MinCbAddrZS[ xBA « Log2MinCbSize ][ yBA « Log2MinCbSize ]
cbAddrB
=MinCbAddrZS[ xBB « Log2MinCbSize ][ yBB « Log2MinCbSize ]
En tercer lugar, se invoca un proceso de disponibilidad para una dirección de bloque de codificación mínima especificada una vez con la dirección de bloque de codificación mínima cbAddrA como la entrada y la salida asignadas a availableA y una vez con la dirección de bloque de codificación mínima cbAddrB como la entrada y la salida asignadas a availableB.
En cuarto lugar, para que N sea reemplazado A o B, las variables intraPredModeN se obtienen de la siguiente manera: Si availableN es igual a FALSE, intraPredModeN se establece igual a Intra_DC. De lo contrario, si la unidad de codificación que abarca ( xBN, yBN ) no está codificada como modo de intra, intraPredModeN se establece igual a Intra_DC; de lo contrario, si yB-1 es menor que yCtb, intraPredModeA se establece igual a IntraPredMode[ xBA ][ yBA ] e intraPredModeB se establece igual a Intra_DC. De lo contrario, intraPredModeN se establece igual a IntraPredMode[ xBN ][ yBN ], donde IntraPredMode es la matriz variable asignada a la unidad de codificación que cubre la ubicación de luma ( xBN, yBN ).
En quinto lugar, candModeList[ x ] con x = 0..2 se obtiene de la siguiente manera: Si candIntraPredModeB es igual a candlntraPred-ModeA, se aplica lo siguiente: Si candIntraPredModeA es menor que 2 (ya sea Intra_Planar o Intra DC), candModeList[ x ] con x = 0..2 se obtiene como:
candModeList[0] = IntraPlanar
candModeList[l] = IntraDC
candModeList[2] = Intra_Angular (26)
De lo contrario, candModeList[ x ] con x = 0..2 se obtiene como:
candModeList[0] = candIntraPredModeA
candModeListfl] = 2 ( ( candIntraPredModeA - 2 - 1 ) % 32
candModeList[2] = 2 ( ( candIntraPredModeA - 2 1 ) % 32
De lo contrario (candIntraPredModeB no es igual a candIntraPredModeA), se aplica lo siguiente: candModeList[0] y candModeList[1] se obtienen de la siguiente manera:
candModeList[0] = candIntraPredModeA
candModeList[l] = candIntraPredModeB
Si ninguno de candModeList[0] y candModeList[1] es igual a Intra_Planar, candModeList[2] se establece igual a Intra_Planar. De lo contrario, si ninguno de candModeList[0] y candModeList[1] es igual a Intra_DC, candModeList[2] se establece igual a Intra_DC. De lo contrario, candModeList[2] se establece igual a Intra_Angular (26).
En sexto lugar, IntraPredMode[ xB ][ yB ] se obtiene aplicando el siguiente procedimiento. Si prev_intra_pred_flag[ xB ][ yB ] es igual a TRUE, IntraPredMode[ xB ][ yB ] se establece igual a candModeList[ mpm_idx ]. De lo contrario, IntraPredMode[ xB ][ yB ] se obtiene aplicando los siguientes pasos ordenados: En primer lugar, la matriz candModeList[x], x = 0..2 se modifica de la siguiente manera: Si candModeList[0] es mayor que candModeList[1], intercambie dos valores; si candModeList[0] es mayor que candModeList[2], intercambie dos valores; y si candModeList[1] es mayor que candModeList[2], intercambie dos valores. En segundo lugar, IntraPredMode[xB][yB] se obtiene como los siguientes pasos ordenados: en primer lugar, IntraPredMode[ xB ][ yB ] = rem_intra_luma_pred_mode. Cuando IntraPredMode[ xB ][ yB ]es mayor o igual que candModeList[ 0 ], el valor de IntraPredMode[ xB ][ yB ] aumenta en uno. Cuando IntraPredMode[ xB ][ yB ] es mayor o igual que candModeList[ 1 ], el valor de IntraPredMode[ xB ][ yB ]aumenta en uno. Cuando IntraPredMode[ xB ][ yB ] es mayor o igual que candModeList[ 2 ], el valor de IntraPredMode[ xB ][ yB ] aumenta en uno.
Un proceso de obtención de ejemplo para el modo de intra-predicción de croma se define de la forma siguiente. Una entrada a este proceso es una ubicación de luma ( xB, yB ) que especifica la muestra de luma superior izquierda del bloque actual en relación con la muestra de luma superior izquierda de la imagen actual. Una salida de este proceso es la variable IntraPredModeC. El modo de intra-predicción de croma IntraPredModeC se obtiene como se especifica en las tablas 3.2 o 3.3 con intra_chroma_pred_mode, IntraPredMode[ xB ][ yB ] y chroma_pred_from_luma_enabled_flag como entradas.
Tabla 3.2 - Especificación de IntraPredModeC de acuerdo con los valores de intra_chroma_pred_mode e Inr Pr M xB 1 B 1 n hr m r fr m l m n l fl i l 1
Tabla 3.3 - Especificación de IntraPredModeC de acuerdo con los valores de intra_chroma_pred_mode e Inr Pr M xB 1 B 1 n hr m r fr m l m n l fl i l
Se pueden encontrar más detalles sobre los procesos de codificación para unidades de codificación codificadas en modo de intra-predicción en el borrador 6 de la memoria descriptiva textual de Codificación de Vídeo de Alta Eficiencia (HEVC), JCT-VC de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, 7.a Reunión, Ginebra, 21-30 de noviembre de 2011, cuyo contenido completo se incorpora como referencia. Se puede encontrar más información referente a los procesos de codificación para unidades de codificación codificadas en modo de intra-predicción de acuerdo con HEVC en el borrador 7 de la memoria descriptiva textual de HEVC, documento HCTVC-I1003, de Bross,et al.,titulado "Borrador 7 de la Memoria Descriptiva Textual de Codificación de Vídeo de Alta Eficiencia (HEVC)", Equipo de Colaboración Conjunta sobre Codificación de Vídeo (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, 9.a reunión: Ginebra, Suiza, del 27 de abril de 2012 al 7 de mayo de 2012, que, a partir del 6 de junio de 2012, puede descargarse desde http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v3.zip.
La FIG. 7 es un diagrama de flujo que ilustra un ejemplo de un método 100 para la indicación de modo de intrapredicción para la codificación de vídeo. El método 100 puede realizarse mediante cualquiera del sistema 10 de la FIG. 1, el codificador de vídeo 20 de la FIG. 3, el descodificador de vídeo 30 de la FIG. 4, o cualquier otro dispositivo adecuado.
El método 100 incluye determinar, para un bloque de datos de vídeo, un conjunto de modos de intra-predicción más probables de modo que el conjunto de modos de intra-predicción más probables tenga un tamaño que sea igual a un número predeterminado que sea mayor que o igual a dos (102). El método 100 también puede incluir la codificación de un valor representativo de un modo de intra-predicción real para el bloque basándose, al menos en parte, en el conjunto de modos de intra-predicción más probables (104). Además, el método 100 incluye codificar el bloque usando el modo de intra-predicción real (106).
El método 100 incluye establecer NumMPMC a un número fijo para una trama o imagen, que sea mayor o igual a 2. Por ejemplo, si NumMPMC = 3, se seleccionan tres modos candidatos bajo cualquier circunstancia para una imagen dada. Con respecto a un bloque en la imagen, si ambos candIntraPredModeN son iguales, se determina la dirección de predicción para el candIntraPredModeN. De los modos de predicción disponibles para el bloque, los dos modos de predicción que tienen las direcciones de predicción más cercanas como la dirección de predicción de candIntraPredModeN se asignan para ser los dos modos candidatos adicionales, lo que hace que el total de modos más probables se fije en tres modos. Si los valores para candIntraPredModeN son diferentes, el modo candidato adicional se puede elegir para que sea en modo DC, vertical u horizontal.
En otro ejemplo donde NumMPMC = 3, tres modos candidatos se seleccionan bajo todas las circunstancias para una imagen dada, en el que el conjunto de tres modos de intra-predicción más probables incluye el modo DC, el modo vertical y el modo planar.
La FIG. 8 es un diagrama de flujo que ilustra un ejemplo de un método 200 para determinar los candidatos a modo de intra-predicción más probables cuando un conjunto de modos de intra-predicción más probables es igual a tres. El método 200 puede realizarse mediante un codificador de vídeo, por ejemplo, el codificador de vídeo 20 de las FIGs. 2 y 3. En otros ejemplos, el método 200 puede ser realizado por un descodificador de vídeo, tal como el descodificador de vídeo 30 de las FIGs. 2 y 4.
Los detalles de una obtención de ejemplo del método 200 son los siguientes. En primer lugar, NumMPMC se establece igual a tres modos más probables (202). En algunos ejemplos, el codificador de vídeo 20 o el descodificador de vídeo 30 establecen NumMPMC igual a tres para un bloque actual. En otros ejemplos, el codificador de vídeo 20 o el descodificador de vídeo 30 determina NumMPMC desde un bloque codificado previamente con respecto al bloque actual, en el que el bloque codificado previamente es de la misma trama que el bloque actual.
El codificador de vídeo 20 o el descodificador de vídeo 30 determina si ambos candIntraPredModeN están disponibles en un conjunto de modos de intra-predicción disponibles (204). El conjunto de modos de intra-predicción disponibles puede basarse en intraPredModeNum, y puede ser, por ejemplo, igual a 17 o 34. Si ambos candIntraPredModeN no están disponibles, entonces el valor 2 se asigna a candModeList[ 0 ], el valor 0 se asigna a candModeList[ 1], y el valor 1 se asigna a candModeList[ 2 ] (206). Por ejemplo, si ambos candIntraPredModeN no están disponibles, candModeList[ 0 ] se asigna al modo DC, candModeList[1] se asigna al modo planar, y candModeList[ 2 ] se asigna al modo vertical. Por ejemplo, si ambos candIntraPredModeN no están disponibles, entonces se puede elegir candModeList para que sea DC, vertical u horizontal. De lo contrario, si ambos candIntraPred-ModeN están disponibles, el codificador de vídeo 20 o el descodificador de vídeo 30 determina si ambos candIntraPredModeN tienen el mismo valor, es decir, apuntan al mismo modo de intra-predicción (208).
Si ambos candIntraPredModeN son iguales, entonces este candIntraPredModeN se asigna a candModeList[ 0 ] (210). A continuación, candModeList[ 1 ] y candModeList[ 2 ] se obtienen, mediante la unidad de intra-predicción 46 o 74, respectivamente, aplicando el siguiente procedimiento: preModeMinus1_M[candModeList[ 0 ]] se asigna a candModeList[ 1 ] y PreModePlus1_M[candModeList[ 0 ]] se asigna a candModeList[ 2 ], donde M representa intraPredModeNum (212). Las tablas 3.3, 4.3 y 5.3 proporcionadas a continuación, se pueden usar para determinar estos valores. Por ejemplo, usando la FIG. 5, si intraPredModeNum es igual a 34, y candModeList[ 0 ] = 0 (lo cual significa que candIntraPredModeN = 0), entonces candModeList[ 1 ] = preModeMinus1_M[candModeList[ 0] ] = 21 y candModeList[ 2 ] = PreModePlus1_M[candModeList[ 0 ]] = 22.
Volviendo a la FIG. 8, si ambos candIntraPredModeN son iguales (208), entonces ambos candIntraPredModeN se asignan a la lista de modos candidatos (214). Por ejemplo, el menor de los dos candidatos se asigna a candModeList[0] y el candidato más grande se asigna a candModeList[ 1 ].
El tercer candidato restante que se incluirá en el conjunto de modos más probables, CandModeList[ 2 ], se obtiene aplicando el siguiente procedimiento: El codificador de vídeo 20 o el descodificador de vídeo 30 determina si cualquier candIntraPred-ModeN es igual al valor 2 (216). Si ningún candIntraPredModeN es igual al valor 2, entonces el valor 2 se asigna a candModeList[2] (218). Esto asegura que el valor 2 no se repita en la lista del modo candidato. Si al menos uno de los caracteres candIntraPredModeN es igual al valor 2, entonces el codificador de vídeo 20 o el descodificador de vídeo 30 determina si cualquier candIntraPredModeN es igual al valor 0 (220). Si ningún candIntraPredModeN es igual al valor 0, entonces el valor 0 se asigna a candModeList[2] (222). De lo contrario, el valor 1 se asigna a candModeList[2] (224).
La Tabla 4 proporciona una asignación de modo candidato de ejemplo con la variable intraPredModeNum establecida en tres. En un ejemplo, un codificador de vídeo, como un codificador de vídeo 20 de las FIGs. 2 y 3, está configurado con los datos correspondientes a la Tabla 4.3. Igualmente, un descodificador de vídeo, como el descodificador de vídeo 30 de las FIGs. 2 y 4, está configurado con los datos correspondientes a la Tabla 4.3. La Tabla 4.3 proporciona una asignación entre un modo de intra-predicción candidato (o real) y los dos modos de intra-predicción más cercanos al modo de intra-predicción cuando intraPredModeNum es igual a tres. En algunos ejemplos, los modos de intrapredicción más cercanos al modo de intra-predicción pueden ser los más cercanos en términos de dirección de predicción. El codificador de vídeo puede usar la asignación de modo candidato de la Tabla 4.3 para determinar qué modos de intra-predicción se incluyen en una lista de candidatos de modos más probables para un bloque actual cuando intraPredModeNum es igual a tres.
T l 4. - A i n i n l m n i n inr Pr M N m i l
La Tabla 5.3 proporciona un ejemplo de asignación de modo candidato con la variable intraPredModeNum establecida en diecisiete. En un ejemplo, un codificador de vídeo, como un codificador de vídeo 20 de las FIGs. 2 y 3, está configurado con los datos correspondientes a la Tabla 5.3. Igualmente, un descodificador de vídeo, como el descodificador de vídeo 30 de las FIGs. 2 y 4, está configurado con los datos correspondientes a la Tabla 5.3. La Tabla 5.3 proporciona una asignación entre un modo de intra-predicción candidato (o real) y los dos modos de intrapredicción más cercanos al modo de intra-predicción cuando intraPredModeNum es igual a diecisiete. En algunos ejemplos, los modos de intra-predicción más cercanos al modo de intra-predicción pueden ser los más cercanos en términos de dirección de predicción. El codificador de vídeo puede usar la asignación de modo candidato de la Tabla 5.3 para determinar qué modos de intra-predicción se incluyen en una lista de candidatos de modos más probables para un bloque actual cuando intraPredModeNum es igual a diecisiete.
T l . - A i n i n l m n i n inr Pr M N m ^ i l 17
La Tabla 6.3 proporciona un ejemplo de asignación de modo candidato con la variable intraPredModeNum establecida en treinta y cuatro. En un ejemplo, un codificador de vídeo, como un codificador de vídeo 20 de las FIGs. 2 y 3, está configurado con los datos correspondientes a la Tabla 6.3. Igualmente, un descodificador de vídeo, como el descodificador de vídeo 30 de las FIGs. 2 y 4, está configurado con los datos correspondientes a la Tabla 6.3. La Tabla 6.3 proporciona una asignación entre un modo de intra-predicción candidato (o real) y los dos modos de intrapredicción más cercanos al modo de intra-predicción cuando intraPredModeNum es igual a treinta y cuatro. En algunos ejemplos, los modos de intra-predicción más cercanos al modo de intra-predicción pueden ser los más cercanos en términos de dirección de predicción. El codificador de vídeo puede usar la asignación de modo candidato de la Tabla 6.3 para determinar qué modos de intra-predicción se incluyen en una lista de candidatos de modos más probables para un bloque actual cuando intraPredModeNum es igual a treinta y cuatro.
T l . - A i n i n l m n i n inr Pr M N m i l 4
En algunos ejemplos, cuando el NumMPMC es mayor que o igual a dos, uno de los modos candidatos más probables es el modo planar. Por ejemplo, si NumMPMC es igual a cuatro, tres modos candidatos pueden determinarse como se describió anteriormente, mientras que un cuarto modo se establece en modo planar. Si uno de los tres modos candidatos ya es igual al modo planar, el cuarto modo se puede establecer igual al modo DC.
Otro parámetro, el modo de intra-predicción restante, rem_intra_pred_mode, también se puede definir. De acuerdo con las técnicas de la presente divulgación, rem_intra_pred_mode puede tener múltiples contextos. El modo más probable se puede usar para predecir el modo de intra-predicción restante. Cada bin está codificado con un contexto para representar mejor la estadística, lo cual da como resultado una mejor selección del modo más probable.
De acuerdo con otras técnicas, puede proporcionarse la agrupación de palabras de código. Por ejemplo, todas las palabras de código para los modos de intra-predicción se pueden dividir en múltiples grupos. Se puede usar una binarización de longitud fija o variable para indicar el índice del grupo. A continuación, se puede usar una binarización de longitud fija o variable para indicar el índice de palabras de código dentro del grupo.
Por ejemplo, se forman tres grupos de códigos para intraPredModeNum, siendo igual a 17 o 34. Todos los grupos menos uno tienen 2N secuencias de bins, como se muestra en la Tabla 7. En un ejemplo, un codificador de vídeo, como un codificador de vídeo 20 de las FIGs. 2 y 3, está configurado con los datos correspondientes a la Tabla 7. Igualmente, un descodificador de vídeo, como el descodificador de vídeo 30 de las FIGs. 2 y 4, está configurado con los datos correspondientes a la Tabla 7.
T l 7 - N m r in r inr M T l r m inr l m r m
Una excepción a la Tabla 7 es cuando el rem_intra_luma_pred_mode asignado es mayor que 23 y la binarización se muestra en la Tabla 8. Se utiliza una binarización unaria para indicar el índice de grupo del rem_intra_luma_pred_mode asignado. En un ejemplo, un codificador de vídeo, como un codificador de vídeo 20 de las FIGs. 2 y 3, está configurado con los datos correspondientes a la Tabla 8. Igualmente, un descodificador de vídeo, como el descodificador de vídeo 30 de las FIGs. 2 y 4, está configurado con los datos correspondientes a la Tabla 8.
T l - T l in riz i n n in r M T l r m inr l m r m l > 24
Un índice de palabras de código se obtiene de un modo de intra-predicción, independientemente de si el codificador de vídeo está usando VLC o CABAC. El índice de palabras de código puede asignarse a un valor binario, tal como se muestra en la Tabla 8. Un valor binario es una secuencia de bits, que pueden denominarse bins. Cada bin puede codificarse secuencialmente. Por lo tanto, se proporcionan dos tablas de tal manera que, para cada escenario diferente, las palabras de código ya se proporcionan en una tabla y no tienen que determinarse para cada escenario. Se proporciona una única tabla de binarización, independientemente de los modos de intra-predicción más probables que se incluyan en la lista de candidatos.
Las técnicas descritas en el presente documento también proporcionan una palabra de código fija y un tamaño de tabla de códigos para un modo de predicción de croma en diferentes modos de predicción de luma. Debido al modo de herencia, el enfoque existente elimina cualquier palabra de código redundante de las tablas de códigos. Una tabla de códigos de tamaño fijo puede ser beneficiosa para el proceso de análisis porque la descodificación del modo de luma ya no necesita hacerse de antemano.
Se pueden realizar dos enfoques diferentes para lograr una tabla de códigos de tamaño fijo. En primer lugar, uno de los modos de intra-predicción se deshabilita cuando no hay una palabra de código redundante, por lo que una palabra de código redundante se crea artificialmente. En segundo lugar, se habilita un modo diferente para reemplazar el modo redundante a fin de eliminar la palabra de código redundante. Además, una asignación de la palabra de código y el modo de intra-predicción podría ser diferente para diferentes modos de predicción de luma.
En otro ejemplo, la asignación del modo planar puede cambiarse desde la HEVC anterior. Por ejemplo, el modo planar puede asignarse al valor de índice 0. Posteriormente, el valor de índice asociado con todos los otros modos de intrapredicción puede aumentarse en 1. Este cambio aumentará la probabilidad de obtener un rem_intra_luma_pred_mode más pequeño, ya que el modo planar se elige con más frecuencia.
Las técnicas de la divulgación fijan el número de modos de intra-predicción de croma disponibles. La variable Intra_Pred_ModeC es un modo de intra-predicción de croma. Por ejemplo, se pueden indicar seis modos de intrapredicción de croma disponibles (IntraPredModeC). Para dos modos, la predicción de señal de luma y la reutilización del modo de intra-predicción de luma, permanecen sin cambios. Para los otros cuatro modos, se agregan dos opciones de modo, que incluyen los modos de intra-predicción adyacentes y los modos de intra-predicción adyacentes perpendiculares. La Tabla 9 proporciona una asignación de índice de ejemplo para los modos de intra-predicción adyacentes. La Tabla 9 proporciona una asignación de índice de ejemplo para los modos de intra-predicción adyacentes perpendiculares.
T l - A i n i n m r n i l r n in r Pr M N m i l 1
T l - A i n i n m r n i l r n inr Pr M N m i l
Los otros cuatro modos se obtienen de la siguiente manera: Si intra_pred_mode es igual a 2, 0 se asigna a intra_chroma_pred_mode[ 0 ], 1 se asigna a intra_chroma_pred_mode[ 1 ], 6 se asigna a intra_chroma_pred_mode[ 2 ] y 35 se asigna a intra_chroma_pred_mode[ 3 ]. Si intra_pred_mode es igual a 35, por ejemplo, 0 se asigna a intra_chroma_pred_mode[ 0 ], 1 se asigna a intra_chroma_pred_mode[ 1 ], 2 se asigna a intra_chroma_pred_mode[ 2 ] y 6 se asigna a intra_chroma_pred_mode[ 3 ].
Si, por ejemplo, intraPredModeNum es igual a 18 o 35, intra_chroma_pred_mode[ 0 ], intra_chroma_pred_mode[ 1 ] e intra_chroma_pred_mode[ 2 ] se obtienen aplicando el siguiente procedimiento, utilizando algunas de las tablas, como las Tablas 8 y 9. PredModeMinus1_M[intra_pred_mode] se asigna a intra_chroma_pred_mode[0], PredModePlus1_M[intra_pred_mode] se asigna a intra_chroma_pred_mode[1], PredMode_P_M[intra_pred_mode] se asigna a intra_chroma_pred_mode[2] y 35 se asigna a intra_chroma_pred_mode[3], donde M representa intraPredModeNum. De lo contrario, 0 se asigna a intra_chroma_pred_mode[0], 1 se asigna a intra_chroma_pred_mode[1], 2 se asigna a intra_chroma_pred_mode[2] y 35 se asigna a intra_chroma_pred_mode[3].
En otro ejemplo en el que se fija el número de modos de intra-predicción de croma disponibles, cualquier modo de intra_pred redundante en la lista de modos de intra-predicción candidatos puede ser reemplazado por un modo de intra-predicción predefinido.
En otro ejemplo, NumMPMC puede establecerse en cuatro. Es decir, cuatro modos candidatos se seleccionan bajo cualquier circunstancia para una trama de vídeo determinada (es decir, NumMPMC = 4). Si ambos candIntraPredModeN son iguales, los dos modos de predicción disponibles que están más cerca de candIntraPredModeN en la dirección de predicción se asignan para ser dos modos candidatos adicionales. Si candIntraPredModeN es diferente, se puede elegir el modo candidato adicional para que sea el modo DC, vertical u horizontal.
Una obtención de ejemplo para las listas de modos candidatos es la siguiente para cuando NumMPMC = 4: Si ambos candIntraPredModeN no están disponibles, entonces el valor 3 se asigna a candModeList[ 0 ], el valor 0 se asigna a candModeList[ 1 ], el valor 1 se asigna a candModeList[ 2 ] y el valor 2 se asigna a candModeList[ 3 ]. De lo contrario, si ambos candIntraPredModeN son iguales, entonces este candIntraPredModeN se asigna a candModeList[ 0 ]. CandModeList[ 1 ] y candModeList[ 2 ] se obtienen aplicando el siguiente procedimiento, utilizando las Tablas 3.4, 4.4 y 5.4.
Como se puede ver en las Tablas 3.4, 4.4 y 5.4, si candModeList[ 0 ] no es igual a, el valor 0 se asigna a candModeList[ 1 ]. De lo contrario, el valor 2 se asigna a candModeList[ 1 ]. PreModeMinus1_M[candModeList[ 0 ]] se asigna a candModeList[2] y PreModePlus1_M[candModeList[ 0 ]] se asigna a candModeList[ 3 ], donde M representa intraPredModeNum.
De lo contrario, ambos candIntraPredModeN se asignan a la lista de modos candidatos con el menor de los dos candidatos en candModeList[ 0 ] y el más grande en candModeList[ 1 ]. Las variables candModeList[ 2 ], candModeList[ 3 ] y candModeList[ 4 ] se obtienen aplicando el siguiente procedimiento: Si candIntraPredMode[ 0 ] = 0, entonces candModeList[ 2 ] = PreModeMinus1_M[candModeList[ 1 ]] y candModeList[ 3 ] = PreModePlus1_M[candModeList[ 1 ]]. De lo contrario, si candIntraPredMode1 = 0, entonces candModeList[ 2 ] = PreModeMinus1_M[candModeList[ 0 ]] y candModeList[ 3 ] = PreModePlus1_M[candModeList[ 0 ]]. De lo contrario, candModeList[ 2 ] = 0 y las variables candModeList[ 3 ] y candModeList[ 4 ] se seleccionan entre los primeros dos elementos disponibles del siguiente conjunto:
rPreModeMinusl_M[candIntraPredModeO],> PreModeMinusl_M[candIntraPredModel],
< PreModePlusl_M[candIntraPredModeO], ► PreModePlusl_M[candIntraPredModel],
V 3J
Un modo se puede definir como disponible cuando el modo no ha existido anteriormente en candModeList.
Las Tablas 3.4, 4.4 y 5.4 se proporcionan a continuación, y son análogas a las Tablas 3.3, 4.3 y 5.3, proporcionadas anteriormente. Las Tablas 3.3, 4.3 y 5.3 se aplican a ejemplos donde intraPredModeNum es igual a 3. Por el contrario, las Tablas 3.4, 4.4 y 5.4 se aplican a ejemplos donde intraPredModeNum es igual a 4. Específicamente, la Tabla 4.4 proporciona un ejemplo de asignación de modo candidato cuando intraPredModeNum es igual a 4.
T l 4.4 A i n i n m n i n inr Pr M N m i l^ 4
La Tabla 5.4 proporciona un ejemplo de asignación de modo candidato cuando intraPredModeNum es igual a 18.
Tabla 5.4 Asi nación de modo candidato cuando intraPredModeNum es i ual a 18
La Tabla 6.4 proporciona un ejemplo de asignación de modo candidato cuando intraPredModeNum es igual a 35.
T l .4 A i n i n m n i n in r Pr M N m i l
De acuerdo con otro ejemplo, NumMPMC puede ser igual a 5. Es decir, se seleccionan cinco modos candidatos en todas las circunstancias (es decir, NumMPMC = 5), excepto intraPredModeNum = 4, donde NumMPMC = 4. Si NumMPMC = 4, se omite la obtención de candModeList[ 4 ]. En este ejemplo de NumMPMC = 5, se supone que el modo planar se establece en el valor 0. Si ambos candIntraPredModeN son iguales, es decir, por ejemplo, si los modos de intra-predicción de los bloques contiguos izquierdos y contiguos superiores son iguales, los dos modos de predicción disponibles que sean más cercanos a candIntraPredModeN en la dirección de predicción se pueden asignar para ser los dos modos candidatos adicionales. Si candIntraPredModeN es diferente, se puede elegir el modo candidato adicional para que sea el modo DC, vertical u horizontal.
Los detalles de una obtención de ejemplo son los siguientes: si ambos candIntraPredModeN no están disponibles, entonces el valor 3 se asigna a candModeList[ 0 ], el valor 0 se asigna a candModeList[ 1 ], el valor 1 se asigna a candModeList[ 2 ], el valor 2 se asigna a candModeList[ 3 ] y el valor 9 se asigna a candModeList[ 4 ]. Por ejemplo, candIntraPredMode0 puede corresponder al bloque contiguo izquierdo (bloque 6 en la FIG. 1) y candIntraPredMode1 puede corresponder al bloque contiguo superior (bloque 4 en la FIG. 1). De lo contrario, si ambos candIntraPredModeN están disponibles y son iguales, entonces el valor de la misma candIntraPredModeN se asigna a candModeList[ 0 ].
Los valores para candModeList[ 1 ] y candModeList[ 2 ] se obtienen aplicando el siguiente procedimiento, utilizando las Tablas 2.4, 3.4 y 4.4. Si candModeList[ 0 ] no es igual a 0 o 2, el valor 0 se asigna a candModeList[ 1 ]. De lo contrario, el valor 2 se asigna a candModeList[ 1 ]. PreModeMinus1_M[candModeList[ 0 ]] se asigna a candModeList[ 2 ], PreModePlus1_M[candModeList[ 0 ]] se asigna a candModeList[ 3 ] y Last_MPM[candModeList[ 0 ]] se asigna a candModeList[ 4 ], donde M representa intraPredModeNum.
De lo contrario, ambos candIntraPredModeN se asignan a la lista de modos candidatos con el menor de los dos candidatos en candModeList[0] y el más grande en candModeList[ 1 ]. Las variables candModeList[ 2 ], candModeList[ 3 ] y candModeList[ 4 ] se obtienen aplicando el siguiente procedimiento. Si candIntraPredMode0 = 0, entonces candModeList[ 2 ] = PreModeMinus1_M[candModeList[ 1 ]], candModeList[ 3 ] = PreModePlus1_M[candModeList[ 1 ]] y candModeList[ 4 ] = LastMPM_M[candModeList[ 1 ]]. De lo contrario, si candIntraPredMode1 = 0, entonces candModeList[ 2 ] = PreModeMinus1_M[candModeList[ 0 ]], candModeList[ 3 ] = PreModePlus1_M[candModeList[ 0 ]] y candModeList[ 4 ] = LastMPM_M[candModeList[ 0 ]]. De lo contrario, candModeList[ 2 ] = 0, y candModeList[ 3 ] y candModeList[ 4 ] se seleccionan de los primeros dos elementos disponibles del siguiente conjunto:
rPreModeMinusl_M[candIntraPredModeOE PreModeMinusl_M[candIntraPredModel], PreModePlusl_M[candIntraPredModeO],
i PreModePlusl_M[candIntraPredModel],
3,
Last_MPM_M [candlntraPredModeO], and
k Last_MPM _M[candIntraPredModel] ,
Un modo se puede definir como disponible cuando el modo no ha existido anteriormente en candModeList.
Con respecto a la indicación del modo de intra-predicción de croma, la HEVC actual permite 6 modos, planar, vertical, horizontal, DC, predicción de croma basándose en señal de luma, y herencia del modo de predicción de luma. Una asignación de índice para estos modos puede ser la siguiente: planar(0), vertical(1), horizontal(2), DC(3) y predicción de croma basándose en la señal de luma (35). Sin embargo, en otros ejemplos, se utilizan otras asignaciones de índice. Entre todos, la herencia del modo de predicción de luma significa que la dirección de predicción de croma es la misma que la dirección de predicción de luma.
Por ejemplo, 0 se asigna a intra_chroma_pred_mode[0], 1 se asigna a intra_chroma_pred_mode[1], 2 se asigna a intra_chroma_pred_mode[2], y 3 se asigna a intra_chroma_pred_mode[3]. Si intra_pred_mode es igual a 0, 1 ,2 o 3 (es decir, modo planar, vertical, horizontal o DC), 7 se asigna a intra_chroma_pred_mode[intra_pred_mode]. La FIG.
6 ilustra otro ejemplo que tiene una asignación diferente de valores de índice a modos de intra-predicción para componentes de luma. Por ejemplo, en la FIG. 6, si intra_pred_mode es igual a 0, 10, 26 o 1 (modo planar, vertical, horizontal o DC, respectivamente), entonces 34 (superior derecho) se asigna a intra_chroma_pred_mode[intra_pred_mode]. Es decir, si intra_pred_mode es igual al modo planar, vertical, horizontal o DC, entonces intra_chroma_pred_mode[intra_pred_mode] es igual al modo direccional superior derecho.
El diseño de Last_MPM puede ser el mismo para intraPredModeNum = 18 y los primeros 18 modos cuando intraPredModeNum = 35 para tener el mismo tamaño de tabla. Además, cuando intraPredModeNum = 35, los últimos 17 modos se pueden diseñar simétricamente con respecto al modo 1, 2 y 4 para ahorrar aún más el tamaño de la tabla.
En otro ejemplo, el número de modos de intra-predicción de croma disponibles puede ser fijo. Por ejemplo, se pueden indicar seis modos de intra-predicción de croma disponibles (IntraPredModeC). Para dos modos, la predicción de señal de luma y la reutilización del modo de intra-predicción de luma, permanecen sin cambios. Para los otros cuatro modos, se agregan dos opciones, que son los modos de intra-predicción adyacentes (Tabla 4.4 y Tabla 5.4) y los modos de inter-predicción adyacentes perpendiculares (Tabla 8 y Tabla 9).
Los otros cuatro modos se obtienen de la siguiente manera. 0 se asigna a intra_chroma_pred_mode[0], 1 se asigna a intra_chroma_pred_mode[1], 2 se asigna a intra_chroma_pred_mode[2] y 3 se asigna a intra_chroma_pred_mode[3].
Si intra_pred_mode es igual a 0 o 3, 7 se asigna a intra_chroma_pred_mode[intra_pred_mode]. De lo contrario, PredModeMinus1_M[intra_pred_mode] se asigna a intra_chroma_pred_mode[0], PredModePlus1_M[intra_pred_mode] se asigna a intra_chroma_pred_mode[1], PredMode_P_M[intra_pred_mode] se asigna a intra_chroma_pred_mode[2].
T l - A i n i n m r n i l r n in r Pr M N m i l 1
T l - A i n i n m r n i l r n inr Pr M N m i l
En uno o más ejemplos, las funciones descritas pueden implementarse en hardware, software, firmware o cualquier combinación de los mismos. Si se implementan en software, las funciones, como una o más instrucciones o código, pueden almacenarse en, y transmitirse por, un medio legible por ordenador, y ejecutarse mediante una unidad de procesamiento basándose en hardware. Los medios legibles por ordenador pueden incluir medios de almacenamiento legibles por ordenador, que corresponden a un medio tangible tal como unos medios de almacenamiento de datos o unos medios de comunicación que incluyen cualquier medio que facilite la transferencia de un programa informático desde un lugar a otro, por ejemplo, de acuerdo con un protocolo de comunicación. De esta manera, los medios legibles por ordenador pueden corresponder en general a (1) unos medios de almacenamiento tangibles legibles por ordenador que son no transitorios, o (2) un medio de comunicación tal como una señal o una onda portadora. Los medios de almacenamiento de datos pueden ser medios disponibles cualesquiera a los que se puede acceder desde uno o más ordenadores o uno o más procesadores para recuperar instrucciones, código y/o estructuras de datos para la implementación de las técnicas descritas en esta divulgación. Un producto de programa informático puede incluir un medio legible por ordenador.
A modo de ejemplo, y no de limitación, dichos medios de almacenamiento legibles por ordenador pueden comprender RAM, ROM, EEPROM, CD-ROM u otro almacenamiento de disco óptico, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, memoria flash o cualquier otro medio que pueda utilizarse para almacenar un código de programa deseado en forma de instrucciones o estructuras de datos y al que pueda accederse mediante un ordenador. Además, cualquier conexión recibe adecuadamente la denominación de medio legible por ordenador. Por ejemplo, si las instrucciones se transmiten desde un sitio web, un servidor u otro origen remoto usando un cable coaxial, un cable de fibra óptica, un par trenzado, una línea de abonado digital (DSL) o tecnologías inalámbricas tales como infrarrojos, radio y microondas, entonces el cable coaxial, el cable de fibra óptica, el par trenzado, la DSL o las tecnologías inalámbricas tales como infrarrojos, radio y microondas se incluyen en la definición de medio. Sin embargo, debe entenderse que los medios de almacenamiento legibles por ordenador y los medios de almacenamiento de datos no incluyen conexiones, ondas portadoras, señales u otros medios transitorios, sino que, en cambio, se orientan a medios de almacenamiento tangibles no transitorios. Los discos, tal como se utiliza en el presente documento, incluye un disco compacto (CD), un disco láser, un disco óptico, un disco versátil digital (DVD), un disco flexible y un disco Blu-ray, donde algunos discos habitualmente reproducen los datos magnéticamente, mientras que otros discos reproducen los datos ópticamente con láseres. Las combinaciones de lo anterior deberían incluirse también dentro del alcance de los medios legibles por ordenador.
Las instrucciones pueden ser ejecutadas por uno o más procesadores, tales como uno o más procesadores de señales digitales (DSP), microprocesadores de propósito general, circuitos integrados específicos de la aplicación (ASIC), formaciones lógicas programables in situ (FPGA) u otros circuitos lógicos equivalentes, integrados o discretos. Por consiguiente, el término "procesador", como se usa en el presente documento, puede referirse a cualquiera de las estructuras anteriores o a cualquier otra estructura adecuada para la implementación de las técnicas descritas en el presente documento. Además, en algunos aspectos, la funcionalidad descrita en el presente documento puede proporcionarse dentro de módulos de hardware y/o software dedicados configurados para la codificación y la descodificación, o incorporarse en un códec combinado. Además, las técnicas podrían implementarse completamente en uno o más circuitos o elementos lógicos.
Las técnicas de la esta divulgación se pueden implementar en una amplia variedad de dispositivos o aparatos, que incluyen un teléfono inalámbrico, un circuito integrado (CI) o un conjunto de CI (por ejemplo, un conjunto de chips).
Diversos componentes, módulos o unidades se describen en esta divulgación para enfatizar aspectos funcionales de dispositivos configurados para realizar las técnicas divulgadas, pero no requieren necesariamente su realización mediante diferentes unidades de hardware. En cambio, como se ha descrito anteriormente, diversas unidades pueden combinarse en una unidad de hardware de códec o proporcionarse por medio de un grupo de unidades de hardware interoperativas, que incluyen uno o más procesadores como los descritos anteriormente, conjuntamente con software y/o firmware adecuados.

Claims (7)

REIVINDICACIONES
1. Un método de codificación de datos de vídeo, comprendiendo el método:
determinar, para un bloque de luminancia de datos de vídeo, un conjunto de modos de intra-predicción más probables para predecir el bloque de datos de vídeo, en el que el conjunto de modos de intra-predicción más probables tiene un tamaño que es igual a un número predeterminado que es mayor que o igual a dos, y en el que el tamaño se fija para todos los bloques en la imagen;
determinar, para un bloque de crominancia correspondiente al bloque de luminancia, un conjunto de modos de intra-predicción que comprende modo horizontal, modo vertical, modo planar, modo DC y modo de predicción de señal de luma, en el que cuando un modo de intra-predicción real para el bloque de luminancia comprende un modo distinto al modo horizontal, modo vertical, modo planar y modo DC, el conjunto de modos de intra-predicción comprende además una reutilización del modo de intra-predicción real para el bloque de luminancia, y en el que cuando el modo de intra-predicción real para el bloque de luminancia comprende uno de modo horizontal, modo vertical, modo planar y modo DC, el conjunto de modos de intra-predicción comprende además un modo distinto al modo horizontal, modo vertical, modo planar y modo DC;
codificar un valor representativo del modo de intra-predicción real para el bloque de luminancia basándose, al menos en parte, en el conjunto de modos de intra-predicción más probables;
determinar una asignación de un conjunto de valores al conjunto de modos de intra-predicción;
codificar un valor representativo de un modo de intra-predicción real para el bloque de crominancia basándose en la asignación del conjunto de valores al conjunto de modos de intra-predicción;
codificar el bloque de crominancia utilizando el modo de intra-predicción real para el bloque de crominancia; y codificar el bloque de luminancia utilizando el modo de intra-predicción real para el bloque de luminancia.
2. Un método de descodificación de datos de vídeo, comprendiendo el método:
determinar, para un bloque de luminancia de datos de vídeo, un conjunto de modos de intra-predicción más probables para predecir el bloque de datos de vídeo, en el que el conjunto de modos de intra-predicción más probables tiene un tamaño que es igual a un número predeterminado que es mayor que o igual a dos, y en el que el tamaño se fija para todos los bloques en la imagen,
determinar, para un bloque de crominancia correspondiente al bloque de luminancia, un conjunto de modos de intra-predicción que comprende modo horizontal, modo vertical, modo planar, modo DC y modo de predicción de señal de luma, en el que cuando un modo de intra-predicción real para el bloque de luminancia comprende un modo distinto al modo horizontal, modo vertical, modo planar y modo DC, el conjunto de modos de intra-predicción comprende además una reutilización del modo de intra-predicción real para el bloque de luminancia, y en el que cuando el modo de intra-predicción real para el bloque de luminancia comprende uno de modo horizontal, modo vertical, modo planar y modo DC, el conjunto de modos de intra-predicción comprende además un modo distinto al modo horizontal, modo vertical, modo planar y modo DC;
descodificar un valor representativo del modo de intra-predicción real para el bloque de luminancia basándose, al menos en parte, en el conjunto de modos de intra-predicción más probables;
determinar una asignación de un conjunto de valores al conjunto de modos de intra-predicción; descodificar un valor representativo de un modo de intra-predicción real para el bloque de crominancia basándose en la asignación del conjunto de valores al conjunto de modos de intra-predicción;
descodificar el bloque de crominancia utilizando el modo de intra-predicción real para el bloque de crominancia; y, descodificar el bloque de luminancia utilizando el modo de intra-predicción real para el bloque de luminancia.
3. El método según la reivindicación 1o 2, en el que en el que cuando el modo de intra-predicción real para el bloque de luminancia es el modo planar, vertical, horizontal o DC, el conjunto de modos de intra-predicción comprende además un modo de intra-predicción de dirección superior derecha.
4. Un producto de programa informático que comprende un medio de almacenamiento legible por ordenador que tiene instrucciones almacenadas en el mismo que, al ejecutarse, hacen que un procesador de un dispositivo de codificación de vídeo realice el método de acuerdo con cualquiera de las reivindicaciones anteriores.
5. Un dispositivo para la codificación de vídeo, que comprende:
medios para determinar, para un bloque de luminancia de datos de vídeo, un conjunto de modos de intra-predicción más probables para predecir el bloque de datos de vídeo, en el que el conjunto de modos de intra-predicción más probables tiene un tamaño que es igual a un número predeterminado que es mayor que o igual a dos, y en el que el tamaño se fija para todos los bloques en la imagen,
medios para determinar, para un bloque de crominancia correspondiente al bloque de luminancia, un conjunto de modos de intra-predicción que comprende modo horizontal, modo vertical, modo planar, modo DC y modo de predicción de señal de luma, en el que cuando un modo de intra-predicción real para el bloque de luminancia comprende un modo distinto al modo horizontal, modo vertical, modo planar y modo DC, el conjunto de modos de intra-predicción comprende además una reutilización del modo de intra-predicción real para el bloque de luminancia, y en el que cuando el modo de intra-predicción real para el bloque de luminancia comprende uno de modo horizontal, modo vertical, modo planar y modo DC, el conjunto de modos de intra-predicción comprende además un modo distinto al modo horizontal, modo vertical, modo planar y modo DC;
medios para codificar un valor representativo del modo de intra-predicción real para el bloque de luminancia basándose, al menos en parte, en el conjunto de modos de intra-predicción más probables;
medios para determinar una asignación de un conjunto de valores al conjunto de modos de intra-predicción; medios para codificar un valor representativo de un modo de intra-predicción real para el bloque de crominancia basándose en la asignación del conjunto de valores al conjunto de modos de intra-predicción;
medios para codificar el bloque de crominancia utilizando el modo de intra-predicción real para el bloque de crominancia; y,
medios para codificar el bloque de luminancia utilizando el modo de intra-predicción real para el bloque de luminancia.
6. Un dispositivo para la codificación de vídeo, que comprende:
medios para determinar, para un bloque de luminancia de datos de vídeo, un conjunto de modos de intra-predicción más probables para predecir el bloque de datos de vídeo, en el que el conjunto de modos de intra-predicción más probables tiene un tamaño que es igual a un número predeterminado que es mayor que o igual a dos, y en el que el tamaño se fija para todos los bloques en la imagen,
medios para determinar, para un bloque de crominancia correspondiente al bloque de luminancia, un conjunto de modos de intra-predicción que comprende modo horizontal, modo vertical, modo planar, modo DC y modo de predicción de señal de luma, en el que cuando un modo de intra-predicción real para el bloque de luminancia comprende un modo distinto al modo horizontal, modo vertical, modo planar y modo DC, el conjunto de modos de intra-predicción comprende además una reutilización del modo de intra-predicción real para el bloque de luminancia, y en el que cuando el modo de intra-predicción real para el bloque de luminancia comprende uno de modo horizontal, modo vertical, modo planar y modo DC, el conjunto de modos de intra-predicción comprende además un modo distinto al modo horizontal, modo vertical, modo planar y modo DC; y
medios para descodificar un valor representativo del modo de intra-predicción real para el bloque de luminancia basándose, al menos en parte, en el conjunto de modos de intra-predicción más probables;
medios para determinar una asignación de un conjunto de valores al conjunto de modos de intra-predicción; medios para descodificar un valor representativo de un modo de intra-predicción real para el bloque de crominancia basándose en la asignación del conjunto de valores al conjunto de modos de intra-predicción;
medios para descodificar el bloque de crominancia utilizando el modo de intra-predicción real para el bloque de crominancia; y,
medios para descodificar el bloque de luminancia utilizando el modo de intra-predicción real para el bloque de luminancia.
7. El dispositivo según la reivindicación 5 o 6, en el que cuando el modo de intra-predicción real para el bloque de luminancia es el modo planar, vertical, horizontal o DC, el conjunto de modos de intra-predicción comprende además un modo de intra-predicción de dirección superior derecha.
ES17193257T 2011-06-09 2012-06-08 Indicación de modo de intra-predicción mejorada para codificación de vídeo utilizando el modo contiguo Active ES2973247T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161495332P 2011-06-09 2011-06-09
US201161503712P 2011-07-01 2011-07-01
US201161504664P 2011-07-05 2011-07-05
US201161533118P 2011-09-09 2011-09-09
US13/491,076 US9654785B2 (en) 2011-06-09 2012-06-07 Enhanced intra-prediction mode signaling for video coding using neighboring mode

Publications (1)

Publication Number Publication Date
ES2973247T3 true ES2973247T3 (es) 2024-06-19

Family

ID=47293185

Family Applications (2)

Application Number Title Priority Date Filing Date
ES12728346.3T Active ES2657546T3 (es) 2011-06-09 2012-06-08 Indicación de modo de intra-predicción mejorada para codificación de vídeo utilizando el modo contiguo
ES17193257T Active ES2973247T3 (es) 2011-06-09 2012-06-08 Indicación de modo de intra-predicción mejorada para codificación de vídeo utilizando el modo contiguo

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES12728346.3T Active ES2657546T3 (es) 2011-06-09 2012-06-08 Indicación de modo de intra-predicción mejorada para codificación de vídeo utilizando el modo contiguo

Country Status (21)

Country Link
US (2) US9654785B2 (es)
EP (2) EP2719180B1 (es)
JP (2) JP5805861B2 (es)
KR (2) KR101825275B1 (es)
CN (1) CN103597832B (es)
AU (1) AU2012267737B2 (es)
BR (1) BR112013031197B1 (es)
CA (1) CA2837952C (es)
DK (1) DK2719180T3 (es)
ES (2) ES2657546T3 (es)
HU (1) HUE035456T2 (es)
IL (1) IL229415A (es)
MX (1) MX336905B (es)
PL (1) PL2719180T3 (es)
PT (1) PT2719180T (es)
RU (1) RU2601843C2 (es)
SG (1) SG194971A1 (es)
SI (1) SI2719180T1 (es)
UA (1) UA110649C2 (es)
WO (1) WO2012170812A1 (es)
ZA (1) ZA201400151B (es)

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8867854B2 (en) * 2008-10-01 2014-10-21 Electronics And Telecommunications Research Institute Image encoder and decoder using undirectional prediction
KR101356448B1 (ko) * 2008-10-01 2014-02-06 한국전자통신연구원 예측 모드를 이용한 복호화 장치
CN102484701A (zh) * 2009-07-06 2012-05-30 汤姆逊许可证公司 用于空间变化残差编码的方法和设备
US11284072B2 (en) 2010-08-17 2022-03-22 M&K Holdings Inc. Apparatus for decoding an image
US10136130B2 (en) * 2010-08-17 2018-11-20 M&K Holdings Inc. Apparatus for decoding an image
WO2012092763A1 (en) * 2011-01-07 2012-07-12 Mediatek Singapore Pte. Ltd. Method and apparatus of improved intra luma prediction mode coding
KR101824241B1 (ko) * 2011-01-11 2018-03-14 에스케이 텔레콤주식회사 인트라 부가정보 부호화/복호화 장치 및 방법
DK2685724T3 (da) 2011-03-06 2020-05-18 Lg Electronics Inc Intraforudsigelsesfremgangsmåde af krominansblok under anvendelse af luminansprøve, og apparat anvendende samme
US9654785B2 (en) * 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
MX2013013909A (es) * 2011-06-13 2014-01-24 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imágenes.
KR101953522B1 (ko) 2011-06-17 2019-02-28 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램, 및 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
WO2012171463A1 (en) * 2011-06-17 2012-12-20 Mediatek Inc. Method and apparatus for coding of intra prediction mode
HUE038712T2 (hu) 2011-06-28 2018-11-28 Samsung Electronics Co Ltd Eljárás video dekódolására intra predikcióval
WO2013023518A1 (en) * 2011-08-17 2013-02-21 Mediatek Singapore Pte. Ltd. Method and apparatus for intra prediction using non-square blocks
GB2494468B (en) * 2011-09-12 2014-01-15 Canon Kk Method and device for encoding or decoding information representing prediction modes
PL3139596T3 (pl) * 2011-09-13 2020-03-31 Hfi Innovation Inc. Sposób i urządzenie do kodowania wewnątrzklatkowego w HEVC
KR101974952B1 (ko) * 2011-10-06 2019-05-07 인텔렉추얼디스커버리 주식회사 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치
CN107197309B (zh) 2011-10-07 2020-02-18 英迪股份有限公司 对视频信号进行解码的方法
PL3379833T3 (pl) * 2011-10-18 2021-12-13 Lg Electronics Inc. Sposób intra-predykcji i jego urządzenie
WO2013062194A1 (ko) * 2011-10-24 2013-05-02 (주)인터앱 복원 블록을 생성하는 방법 및 장치
PL2945380T3 (pl) * 2011-10-24 2022-05-09 Innotive Ltd Sposób i aparat do dekodowania trybu intra-predykcji
CN105338347B (zh) 2011-10-24 2018-11-13 英孚布瑞智有限私人贸易公司 用于图像解码的方法和装置
EP2942954B1 (en) * 2011-10-24 2020-06-03 Innotive Ltd Image decoding apparatus
HUE060005T2 (hu) 2011-10-24 2023-01-28 Gensquare Llc Képdekódoló berendezés
KR20130049525A (ko) 2011-11-04 2013-05-14 오수미 잔차 블록 복원을 위한 역변환 방법
US9154796B2 (en) * 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
KR20130049524A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
KR20130049522A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
KR20130049523A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 장치
US10390016B2 (en) 2011-11-04 2019-08-20 Infobridge Pte. Ltd. Apparatus of encoding an image
KR20130049526A (ko) 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
KR20130058524A (ko) 2011-11-25 2013-06-04 오수미 색차 인트라 예측 블록 생성 방법
US9554136B2 (en) * 2011-12-05 2017-01-24 Lg Electronics Inc. Method and device for intra prediction
CN103220506B (zh) 2012-01-19 2015-11-25 华为技术有限公司 一种编解码方法和设备
AU2012200319B2 (en) 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
CN109413429B (zh) * 2012-01-20 2022-05-17 杜比实验室特许公司 解码方法、视频解码设备及编码方法
AU2012200345B2 (en) * 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
US9210438B2 (en) * 2012-01-20 2015-12-08 Sony Corporation Logical intra mode naming in HEVC video coding
US9264710B2 (en) * 2012-07-06 2016-02-16 Texas Instruments Incorporated Method and system for video picture intra-prediction estimation
WO2014107083A1 (ko) * 2013-01-07 2014-07-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US9516306B2 (en) 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
US9369708B2 (en) 2013-03-27 2016-06-14 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
SG10201913539SA (en) * 2013-04-07 2020-02-27 Dolby Int Ab Signaling change in output layer sets
BR112015023251B1 (pt) * 2013-04-12 2023-03-14 Intel Corporation Codificação de profundidade simplificada com intracodificação modificada para codificação de vídeo em 3d
US9729875B2 (en) 2013-07-08 2017-08-08 Sony Corporation Palette coding mode
US20150271491A1 (en) * 2014-03-24 2015-09-24 Ati Technologies Ulc Enhanced intra prediction mode selection for use in video transcoding
US9654806B2 (en) * 2014-03-26 2017-05-16 Qualcomm Incorporated Determining palette size, palette entries and filtering of palette coded blocks in video coding
CN106716999B (zh) * 2014-06-20 2019-08-09 寰发股份有限公司 用于视频编码的调色板预测器信令的方法
JP5983715B2 (ja) * 2014-11-28 2016-09-06 株式会社Jvcケンウッド 画像復号装置、画像復号方法、及び画像復号プログラム
US10205968B2 (en) * 2015-02-13 2019-02-12 Mediatek Inc. Method and apparatus for palette index coding in video and image compression
US9756401B2 (en) 2015-04-07 2017-09-05 Sony Corporation Processing and providing an image in which a plurality of symbols are encoded
WO2016195460A1 (ko) 2015-06-05 2016-12-08 한양대학교 산학협력단 화면 내 예측에 대한 부호화/복호화 방법 및 장치
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
US10841593B2 (en) 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US10142627B2 (en) 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
WO2017086746A1 (ko) * 2015-11-19 2017-05-26 한국전자통신연구원 화면내 예측 모드 부호화/복호화 방법 및 장치
KR20180075518A (ko) * 2015-11-24 2018-07-04 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
CN108605130B (zh) * 2015-11-27 2021-05-11 联发科技股份有限公司 一种用于对与区块相关的符号进行熵编解码的方法和装置
EP3442232A4 (en) * 2016-04-06 2019-12-04 KT Corporation METHOD AND APPARATUS FOR PROCESSING VIDEO SIGNAL
US10547854B2 (en) * 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
US11368681B2 (en) 2016-07-18 2022-06-21 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium in which bitstream is stored
WO2018062699A1 (ko) * 2016-09-30 2018-04-05 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
EP3301915A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
WO2018066863A1 (ko) * 2016-10-04 2018-04-12 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10506228B2 (en) 2016-10-04 2019-12-10 Qualcomm Incorporated Variable number of intra modes for video coding
US11039130B2 (en) 2016-10-28 2021-06-15 Electronics And Telecommunications Research Institute Video encoding/decoding method and apparatus, and recording medium in which bit stream is stored
CN110115036B (zh) 2016-12-23 2021-09-03 华为技术有限公司 一种用于从预定定向帧内预测模式集合中移除定向帧内预测模式的帧内预测装置
CN110115034B (zh) 2016-12-23 2023-01-13 华为技术有限公司 一种用于扩展预定定向帧内预测模式集合的帧内预测装置
HUE062025T2 (hu) * 2016-12-23 2023-09-28 Huawei Tech Co Ltd Kódoló berendezés egy kiterjesztési irányú intra-predikciós mód jelzésére irányított intra-predikciós módok csoportján belül
JP6917719B2 (ja) * 2017-01-27 2021-08-11 日本放送協会 イントラ予測器、画像符号化装置、画像復号装置およびプログラム
US11496747B2 (en) * 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
WO2018181252A1 (en) * 2017-03-28 2018-10-04 Panasonic Intellectual Property Corporation Of America Encoding apparatus, decoding apparatus, encoding method, and decoding method
EP3399754A1 (en) * 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus for most probable mode (mpm) reordering for intra prediction
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US10630978B2 (en) * 2017-05-12 2020-04-21 Blackberry Limited Methods and devices for intra-coding in video compression
EP3422716A1 (en) * 2017-06-26 2019-01-02 Thomson Licensing Method and apparatus for most probable mode (mpm) sorting and signaling in video encoding and decoding
EP3635957B1 (en) * 2017-06-29 2024-05-22 Huawei Technologies Co., Ltd. Apparatuses and methods for encoding and decoding a video coding block of a multiview video signal
WO2019023200A1 (en) * 2017-07-24 2019-01-31 Arris Enterprises Llc INTRA-MODE JVET CODING
EP4415366A2 (en) * 2017-08-03 2024-08-14 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks in an inter prediction slice of video data
US11212553B2 (en) * 2017-11-28 2021-12-28 Electronics And Telecommunications Research Institute Bidirectional intra prediction method and apparatus
CN116405673A (zh) * 2017-12-22 2023-07-07 数码士有限公司 视频信号处理方法和设备
WO2019129166A1 (en) * 2017-12-29 2019-07-04 Fg Innovation Ip Company Limited Device and method for coding video data based on mode list including different mode groups
CN118018725A (zh) * 2018-05-10 2024-05-10 三星电子株式会社 视频编码方法和设备以及视频解码方法和设备
IL279503B2 (en) 2018-06-25 2024-09-01 Guangdong Oppo Mobile Telecommunications Corp Ltd Interior-frame and device prediction method
US11277644B2 (en) 2018-07-02 2022-03-15 Qualcomm Incorporated Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching
US10638161B2 (en) * 2018-07-13 2020-04-28 Tencent America LLC Methods and apparatus for most probable mode derivation
WO2020050697A1 (ko) * 2018-09-06 2020-03-12 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020055159A1 (ko) * 2018-09-11 2020-03-19 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
EP3834410A4 (en) 2018-09-13 2021-11-03 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR INTRAPREDICTION
EP3850840A1 (en) 2018-09-13 2021-07-21 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Affine linear weighted intra predictions
EP3709644A1 (en) * 2019-03-12 2020-09-16 Ateme Method for image processing and apparatus for implementing the same
EP3629579A1 (en) 2018-09-27 2020-04-01 Ateme Method for image processing and apparatus for implementing the same
US11303885B2 (en) 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation
EP3861728A4 (en) 2018-11-06 2022-04-06 Beijing Bytedance Network Technology Co., Ltd. COMPLEXITY REDUCTION IN A DERIVATION OF PARAMETERS FOR AN INTRA PREDICTION
US10848763B2 (en) * 2018-11-14 2020-11-24 Tencent America LLC Method and apparatus for improved context design for prediction mode and coded block flag (CBF)
US11652984B2 (en) * 2018-11-16 2023-05-16 Qualcomm Incorporated Position-dependent intra-inter prediction combination in video coding
CN113170122B (zh) 2018-12-01 2023-06-27 北京字节跳动网络技术有限公司 帧内预测的参数推导
GB2579824B (en) 2018-12-14 2022-05-18 British Broadcasting Corp Video encoding and video decoding
JP7311263B2 (ja) 2018-12-17 2023-07-19 ナブテスコ株式会社 ドアロック装置、およびドアロックシステム、およびドア制御装置
MX2021007328A (es) 2018-12-20 2021-08-24 Fraunhofer Ges Forschung Intrapredicciones usando transformaciones lineales o afines con reduccion de muestras vecinas.
GB2580326A (en) 2018-12-28 2020-07-22 British Broadcasting Corp Video encoding and video decoding
US11595662B2 (en) * 2019-02-06 2023-02-28 Tencent America LLC Method and apparatus for neighboring block availability in video coding
WO2020162797A1 (en) * 2019-02-07 2020-08-13 Huawei Technologies Co., Ltd. Method and apparatus of intra prediction mode signaling
CA3128769C (en) 2019-02-24 2023-01-24 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
JP2022068379A (ja) * 2019-03-08 2022-05-10 シャープ株式会社 画像復号装置
GB2582023A (en) * 2019-03-08 2020-09-09 British Broadcasting Corp Method of signalling in a video codec
GB2596394B (en) * 2019-03-08 2022-08-17 British Broadcasting Corp Method of signalling in a video codec
US11405638B2 (en) * 2019-03-17 2022-08-02 Tencent America LLC Method and apparatus for video coding by determining intra prediction direction based on coded information of neighboring blocks
JP7314300B2 (ja) * 2019-03-21 2023-07-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド イントラ予測のための方法および装置
CN118540474A (zh) * 2019-03-24 2024-08-23 华为技术有限公司 视频译码中进行色度帧内预测的方法及装置
MX2021015462A (es) 2019-06-14 2022-03-11 Fraunhofer Ges Forschung Codificacion que utiliza intraprediccion.
WO2020256597A1 (en) * 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. Matrix-based intra prediction for still picture and video coding
WO2020256599A1 (en) * 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. Method and apparatus of quantizing coefficients for matrix-based intra prediction technique
US11330298B2 (en) * 2019-06-25 2022-05-10 Qualcomm Incorporated Simplified intra chroma mode coding in video coding
JP7384998B2 (ja) * 2019-08-01 2023-11-21 ホアウェイ・テクノロジーズ・カンパニー・リミテッド クロマイントラモード導出のエンコーダ、デコーダ、および対応する方法
EP4014488A4 (en) * 2019-10-03 2022-12-21 Huawei Technologies Co., Ltd. CODING METHOD FOR A GEOMETRIC PARTITION MODE
GB2588406B (en) * 2019-10-22 2022-12-07 British Broadcasting Corp Video encoding and video decoding
CN114830652A (zh) * 2019-12-16 2022-07-29 华为技术有限公司 用于方向性帧内预测的参考样本插值滤波的方法及装置
EP4059220A4 (en) * 2019-12-19 2023-04-19 Huawei Technologies Co., Ltd. POSITION DEPENDENT PREDICTION COMBINATION METHOD AND APPARATUS
WO2021045655A2 (en) * 2019-12-31 2021-03-11 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction
US12015765B2 (en) * 2021-04-26 2024-06-18 Tencent America LLC Template matching based intra prediction
EP4349016A1 (en) * 2021-06-03 2024-04-10 Innopeak Technology, Inc. Quantization level binarization in video coding
US11917136B2 (en) 2021-07-15 2024-02-27 Tencent America LLC Intra mode coding
US12120335B2 (en) * 2021-08-24 2024-10-15 Tencent America LLC Hardware friendly design for intra mode coding

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
WO2003021971A1 (en) 2001-08-28 2003-03-13 Ntt Docomo, Inc. Moving picture encoding/transmission system, moving picture encoding/transmission method, and encoding apparatus, decoding apparatus, encoding method, decoding method, and program usable for the same
US6983079B2 (en) 2001-09-20 2006-01-03 Seiko Epson Corporation Reducing blocking and ringing artifacts in low-bit-rate coding
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
KR20030073120A (ko) 2002-03-08 2003-09-19 주식회사 엘지이아이 임베디드 시스템에서 동영상 인트라 예측모드 구현방법
US7170937B2 (en) 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
US7386048B2 (en) * 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
EP2860979A1 (en) 2002-05-28 2015-04-15 Sharp Kabushiki Kaisha Method and systems for image intra-prediction mode estimation, communication, and organization
WO2003105070A1 (en) 2002-06-01 2003-12-18 Nokia Corporation Spatial prediction based intra coding
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
EP1604530A4 (en) 2003-03-03 2010-04-14 Agency Science Tech & Res FAST-DECISION ALGORITHM FOR INTRAPRADICTION FOR ADVANCED VIDEO CODING
CN100534192C (zh) 2003-10-28 2009-08-26 松下电器产业株式会社 帧内预测编码方法
MXPA06006107A (es) 2003-12-01 2006-08-11 Samsung Electronics Co Ltd Metodo y aparato de codificacion y decodificacion escalables de video.
EP1558039A1 (en) * 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
EP1605706A2 (en) 2004-06-09 2005-12-14 Broadcom Corporation Advanced video coding (AVC) intra prediction scheme
KR100627329B1 (ko) * 2004-08-19 2006-09-25 전자부품연구원 H.264 비디오 코덱을 위한 적응형 움직임 예측 및 모드결정 장치 및 그 방법
JP4501631B2 (ja) 2004-10-26 2010-07-14 日本電気株式会社 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
TWI256258B (en) 2004-12-16 2006-06-01 Ind Tech Res Inst Method to speed up the mode decision of video coding
US20060153299A1 (en) 2005-01-07 2006-07-13 Kabushiki Kaisha Toshiba Coded video sequence conversion apparatus, method and program product for coded video sequence conversion
US7830960B2 (en) * 2005-01-13 2010-11-09 Qualcomm Incorporated Mode selection techniques for intra-prediction video encoding
US7751478B2 (en) 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US7706442B2 (en) * 2005-02-15 2010-04-27 Industrial Technology Research Institute Method for coding mode selection of intra prediction in video compression
KR100678911B1 (ko) 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
US7840078B2 (en) 2006-07-10 2010-11-23 Sharp Laboratories Of America, Inc. Methods and systems for image processing control based on adjacent block characteristics
US8976870B1 (en) * 2006-08-30 2015-03-10 Geo Semiconductor Inc. Block and mode reordering to facilitate parallel intra prediction and motion vector prediction
FR2908007A1 (fr) 2006-10-31 2008-05-02 Thomson Licensing Sas Procede de codage d'une sequence d'images
CN101222641B (zh) 2007-01-11 2011-08-24 华为技术有限公司 帧内预测编解码方法及其装置
FR2916931A1 (fr) 2007-05-29 2008-12-05 Thomson Licensing Sas Procede de selection d'une donnee de codage et dispositif de codage implementant ledit procede
JP4650461B2 (ja) 2007-07-13 2011-03-16 ソニー株式会社 符号化装置、符号化方法、プログラム、及び記録媒体
KR100924048B1 (ko) 2007-07-30 2009-10-27 한국과학기술원 비디오 부호화에서 화면내 방향성 예측모드 고속 결정방법
TW200910971A (en) 2007-08-22 2009-03-01 Univ Nat Cheng Kung Direction detection algorithms for H.264 intra prediction
JP2009111691A (ja) 2007-10-30 2009-05-21 Hitachi Ltd 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法
US8467451B2 (en) 2007-11-07 2013-06-18 Industrial Technology Research Institute Methods for selecting a prediction mode
US8670488B2 (en) 2007-12-21 2014-03-11 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive intra mode selection
JP4962400B2 (ja) * 2008-04-30 2012-06-27 ソニー株式会社 算術復号装置
US8761253B2 (en) * 2008-05-28 2014-06-24 Nvidia Corporation Intra prediction mode search scheme
JP2010016454A (ja) * 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
KR101306834B1 (ko) 2008-09-22 2013-09-10 에스케이텔레콤 주식회사 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법
WO2010036772A2 (en) 2008-09-26 2010-04-01 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
US8509302B2 (en) 2008-10-22 2013-08-13 Nippon Telegraph And Telephone Corporation Scalable video encoding method, scalable video encoding apparatus, scalable video encoding program, and computer readable recording medium storing the program
US9288494B2 (en) 2009-02-06 2016-03-15 Thomson Licensing Methods and apparatus for implicit and semi-implicit intra mode signaling for video encoders and decoders
CN101854540B (zh) 2009-04-01 2014-07-02 辉达公司 用于应用h.264视频编码标准的帧内预测方法及装置
JP5169978B2 (ja) 2009-04-24 2013-03-27 ソニー株式会社 画像処理装置および方法
KR101702553B1 (ko) 2009-07-04 2017-02-03 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
US20110002386A1 (en) 2009-07-06 2011-01-06 Mediatek Singapore Pte. Ltd. Video encoder and method for performing intra-prediction and video data compression
KR101507344B1 (ko) 2009-08-21 2015-03-31 에스케이 텔레콤주식회사 가변 길이 부호를 이용한 인트라 예측모드 부호화 방법과 장치, 및 이를 위한기록 매체
WO2011031332A1 (en) 2009-09-14 2011-03-17 Thomson Licensing Methods and apparatus for efficient video encoding and decoding of intra prediction mode
KR20110047310A (ko) 2009-10-30 2011-05-09 삼성전자주식회사 비디오 인코딩 장치 및 비디오 인코딩 방법
KR101545382B1 (ko) * 2010-01-08 2015-08-18 노키아 코포레이션 비디오 코딩을 위한 장치, 방법 및 컴퓨터 프로그램
US9100649B2 (en) 2010-02-10 2015-08-04 Lg Electronics Inc. Method and apparatus for processing a video signal
KR20110113561A (ko) * 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
KR101789634B1 (ko) 2010-04-09 2017-10-25 엘지전자 주식회사 비디오 데이터 처리 방법 및 장치
CN102893606B (zh) * 2010-05-14 2018-02-02 汤姆森特许公司 帧内编码将像素指定给各组的块的方法和装置
CN103004194B (zh) * 2010-05-19 2016-08-17 Sk电信有限公司 图像编码/解码设备和方法
US8902978B2 (en) 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
CN101877792B (zh) 2010-06-17 2012-08-08 无锡中星微电子有限公司 帧内模式预测方法与装置、编码器
US8855188B2 (en) * 2010-07-15 2014-10-07 Sharp Laboratories Of America, Inc. Method of parallel video coding based on mapping
MX2013001661A (es) 2010-09-30 2013-03-21 Panasonic Corp Metodo de decodificacion de imagen, metodo de codificacion de imagen, aparato de decodificacion de imagen, aparato de codificacion de imagen, programa, y circuito integrado.
CN103229507B (zh) 2010-11-25 2017-09-08 Lg电子株式会社 使用信号通知图像信息的方法和使用该方法来解码图像信息的方法
KR20120070479A (ko) 2010-12-21 2012-06-29 한국전자통신연구원 화면 내 예측 방향 정보 부호화/복호화 방법 및 그 장치
CN103392341A (zh) 2010-12-23 2013-11-13 三星电子株式会社 用于对图像预测单元的帧内预测模式进行编码的方法和装置,以及用于对图像预测单元的帧内预测模式进行解码的方法和装置
WO2012092763A1 (en) 2011-01-07 2012-07-12 Mediatek Singapore Pte. Ltd. Method and apparatus of improved intra luma prediction mode coding
BR112013014371B8 (pt) * 2011-01-07 2022-05-24 Hfi Innovation Inc Método e aparelho de codificação aperfeiçoada de modo de predição intra crominância
JP5781313B2 (ja) 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
JP2012147332A (ja) 2011-01-13 2012-08-02 Sony Corp 符号化装置および符号化方法、並びに復号装置および復号方法
CN102595121A (zh) 2011-01-15 2012-07-18 华为技术有限公司 帧内预测模式二进制化的方法、解码方法、装置和系统
CN102685474B (zh) 2011-03-10 2014-11-05 华为技术有限公司 预测模式的编解码方法、编解码设备及网络系统
AU2011201336B2 (en) 2011-03-23 2013-09-05 Canon Kabushiki Kaisha Modulo embedding of video parameters
WO2012134246A2 (ko) 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
US9872015B2 (en) 2011-04-21 2018-01-16 Hfi Innovation Inc. Method and apparatus for improved in-loop filtering
KR101383775B1 (ko) 2011-05-20 2014-04-14 주식회사 케이티 화면 내 예측 방법 및 장치
US10123053B2 (en) * 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
WO2012164902A1 (ja) 2011-05-30 2012-12-06 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム
US9654785B2 (en) * 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
EP2727363B1 (en) * 2011-06-28 2020-11-18 HFI Innovation Inc. Method and apparatus of intra mode coding
JP2013058939A (ja) 2011-09-08 2013-03-28 Sharp Corp 画像復号装置、および画像符号化装置

Also Published As

Publication number Publication date
IL229415A (en) 2016-04-21
EP3282702C0 (en) 2024-03-06
HUE035456T2 (en) 2018-05-02
BR112013031197B1 (pt) 2022-05-17
KR20140022952A (ko) 2014-02-25
EP2719180B1 (en) 2017-11-08
JP6250583B2 (ja) 2017-12-20
WO2012170812A1 (en) 2012-12-13
US20170214940A1 (en) 2017-07-27
JP2014517630A (ja) 2014-07-17
EP2719180A1 (en) 2014-04-16
MX2013014484A (es) 2014-03-27
CA2837952A1 (en) 2012-12-13
JP5805861B2 (ja) 2015-11-10
CA2837952C (en) 2018-02-06
ZA201400151B (en) 2020-05-27
MX336905B (es) 2016-02-02
US9654785B2 (en) 2017-05-16
JP2015164328A (ja) 2015-09-10
CN103597832A (zh) 2014-02-19
RU2013158134A (ru) 2015-07-20
BR112013031197A2 (pt) 2017-01-31
KR20150091184A (ko) 2015-08-07
US10264280B2 (en) 2019-04-16
SI2719180T1 (en) 2018-02-28
UA110649C2 (uk) 2016-01-25
SG194971A1 (en) 2013-12-30
ES2657546T3 (es) 2018-03-05
KR101600720B1 (ko) 2016-03-21
DK2719180T3 (en) 2018-02-05
PL2719180T3 (pl) 2018-04-30
RU2601843C2 (ru) 2016-11-10
EP3282702B1 (en) 2024-03-06
KR101825275B1 (ko) 2018-02-02
US20120314766A1 (en) 2012-12-13
EP3282702A1 (en) 2018-02-14
IL229415A0 (en) 2014-01-30
AU2012267737B2 (en) 2015-12-03
CN103597832B (zh) 2017-05-24
PT2719180T (pt) 2018-02-07

Similar Documents

Publication Publication Date Title
ES2973247T3 (es) Indicación de modo de intra-predicción mejorada para codificación de vídeo utilizando el modo contiguo
ES2779461T3 (es) Intrapredicción de vídeo mejorada que usa una combinación de predicción dependiente de la posición para codificación de vídeo
ES2892964T3 (es) Inicialización de predictor de paleta y fusión para codificación de vídeo
AU2016271140B2 (en) Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
ES2715555T3 (es) Predicción residual de componentes cruzadas adaptativa
ES2841424T3 (es) Diseño unificado para esquemas de división de imágenes
ES2867624T3 (es) Extracción de subflujos de bits de MCTS para codificación de vídeo
ES2611349T3 (es) Codificación de Indicador de bloque codificado (CBF) para el formato de muestra 4:2:2 en codificación de vídeo
ES2975180T3 (es) Modificación de las profundidades de bits en la codificación de transformación de espacio de color
ES2844549T3 (es) Inicialización del parámetro de Rice para la codificación de niveles de coeficiente en un proceso de codificación de vídeo
ES2897708T3 (es) Modelado de contexto eficiente en memoria
ES2864623T3 (es) Codificación de parámetros de cuantificación (QP) en codificación de video
ES2561609T3 (es) Agrupación de elementos sintácticos codificados por circunvalación en la codificación de vídeo
ES2633947T3 (es) Predicción de paletas en la codificación de vídeo basada en paleta
ES2700296T3 (es) Indicación de selección de modo de intrapredicción para codificación de vídeo
ES2963135T3 (es) Codificación de la posición de un último coeficiente significativo dentro de un bloque de vídeo basándose en un orden de exploración para el bloque en una codificación de vídeo
ES2648312T3 (es) Relleno de píxeles de borde para intra-predicción en codificación de vídeo
ES2649532T3 (es) Predicción ponderada explícita de alta precisión para la codificación de vídeo
ES2886344T3 (es) Predicción residual generalizada para codificación de vídeo escalable y codificación de vídeo 3D
AU2012267737A1 (en) Enhanced intra-prediction mode signaling for video coding using neighboring mode
ES2842082T3 (es) Indicación de alineación de tipos de imágenes entre capas en la codificación de vídeo multicapa
JP2013543713A (ja) ビデオ符号化のための適応動きベクトル解像度信号伝達
KR20140130466A (ko) B 슬라이스에서의 예측 유닛의 단방향성 인터 예측으로의 제한
ES2856099T3 (es) Señalización mejorada de identificadores de capa para puntos de operación de un codificador de vídeo
EP2834977A1 (en) Weighted prediction parameter coding